标签归档:mac

Mac LaTeX 基础环境搭建

可以直接安装完整的 MacTeX,但这个会比较大,这里记录的是安装最小 TeX 环境。

# 这里用 Homebrew 安装,也可去 MacTeX 官网下载 BasicTeX
brew tap phinze/cask
brew install brew-cask
brew cask install basictex

添加 PATH

# Fish shell
set -x PATH /Library/TeX/texbin/ $PATH
# bash/zsh 等
export PATH=/Library/TeX/texbin/:$PATH

安装中文 CTeX 宏集

sudo tlmgr update --self --all
sudo tlmgr install ctex environ trimspaces zhnumber

如果编译(参考下方命令)时报类似下面的错误,考虑用 tlmgr 来安装对应的包。

! LaTeX Error: File `environ.sty' not found.

继续阅读

Mac 下 vim 无法复制到系统剪切板的问题

Mac 下,如果在 VISUAL 模式下选择了内容,然后 "+y 没法复制到系统剪切板,先用 vim --version | grep clip 来查看 vim 的 clip 功能支持情况。如果没开启 clipboard 模块,那么考虑用 MacVim 来替代。

编译安装 MacVim,替换掉系统自带的

brew install macvim --with-override-system-vim

如果编译报类似下面的错,尝试启动 XCode 看看是否有提示需要安装必要工具或同意协议等,参考此 issue

** BUILD FAILED **


The following build commands failed:
    StripNIB English.lproj/Preferences.nib
(1 failure)
make[1]: *** [macvim] Error 65
make: *** [first] Error 2

或者直接安装 MacVim 后 alias

alias vim="/Applications/MacVim.app/Contents/MacOS/Vim"

参考

Vim 编辑 fish 文件启动慢

使用 fish shell,尽管不需要经常编写 fish 脚本,但偶尔可能更新下 fish 配置。但在使用集成了 vim-fish 插件的 Vim 时,打开 fish 文件非常慢,以前一直也没细究,今天找了下解决方案。解决后,虽然还是会比打开别的文件慢,但已在接受范围内。

解决方案:在 vim 配置文件中尽可能地前面添加

if &shell =~# 'fish$'
    set shell=sh
endif

参考

排查 Mac 不能自动睡眠的问题

最近发现工作的 MBP 不能在一段时间后自动睡眠了,根据官方资料以及其它资料确认了开启了自动睡眠的电源设置,关闭了共享、关闭了蓝牙后还是没生效。

后来看到了 pmset(power management) 这个命令,在 pmset -g 命令结果中看到了一个软件名字,在其对应的设置中翻看了一下,关掉其中一个选项后就能正常自动睡眠了。
继续阅读

MacOS 中切换 JDK

倘若装有多个版本,特别是从 8 跨到 9 这个分界线,如果是基于 IDE,那么一般使用 IDE 提供的 JDK 设置来指定就可以了。但如果是直接命令执行,那就需要来个方便切换版本的方法。

对于 MacOS,只需要设定 JAVA_HOME 这个环境变量就可以了,甚至不必要把这个路径添加到 PATH 中。

同时,在 MacOS 中,JAVA 相关有个好用的内置工具:/usr/libexec/java_home

$ /usr/libexec/java_home -h
Usage: java_home [options...]
    Returns the path to a Java home directory from the current user's settings.

Options:
    [-v/--version   <version>]       Filter Java versions in the "JVMVersion" form 1.X(+ or *).
    [-a/--arch      <architecture>]  Filter JVMs matching architecture (i386, x86_64, etc).
    [-d/--datamodel <datamodel>]     Filter JVMs capable of -d32 or -d64
    [-t/--task      <task>]          Use the JVM list for a specific task (Applets, WebStart, BundledApp, JNI, or CommandLine)
    [-F/--failfast]                  Fail when filters return no JVMs, do not continue with default.
    [   --exec      <command> ...]   Execute the $JAVA_HOME/bin/<command> with the remaining arguments.
    [-R/--request]                   Request installation of a Java Runtime if not installed.
    [-X/--xml]                       Print full JVM list and additional data as XML plist.
    [-V/--verbose]                   Print full JVM list with architectures.
    [-h/--help]                      This usage information.

所以,通过 /usr/libexec/java_home -v 1.8 这样的形式即可把 JDK 切到指定版本(这里是 8,当然,需要先安装对应的版本)。

然后给 bash/zsh 等 shell 添加上一个 function 就可以简单地来切换了,我用的是 fish,在 ~/.config/fish/functions/ 下添加一个 setjdk.fish,填写以下内容,那么就可以在终端中使用 setjdk 1.8 / setjdk 9 的形式来切换到 JDK8 和 JDK9 了。

继续阅读

给 Mac 添加自定义服务

给 Mac 添加自定义服务,如添加个快捷键进入屏保到方式。

用 Automator 来创建服务并保存后(实际是保存到[ccei]~/Library/Services/[/ccei]下,这样即可在「服务」中出现自定义到服务(如「偏好设置」/「快捷键」/「服务」/「通用」)。

Mac ssh key

Mac 下创建了 ssh 密钥,但可能会发现不生效,原因是没有添加到列表中,可以用 ssh-add the_private_key_path 来添加,然后用 ssh-add -l 来列出列表确认已经添加。

但是可能会发现 mac 下重启后丢失所有 key, 需要重新用 ssh-add 添加,可以把密钥添加仅 keyChain 中来保存。

$ ssh-add -K the_private_key_path

Mac 自带 VNC 客户端

Mac 自带了 VNC 客户端,只是路径有点深,其路径为 /System/Library/CoreServices/Applications/Screen Sharing.app

使用 spotlight 或 alfred 的搜索 Screen Sharing 即可。

Git 文件名大小写问题

由于 Mac 下文件名大小写不敏感,造成 git 下如果改了名字,譬如小写改大些,推送到 linux 服务器的时候会没有效果,Github 上的也是小写。
所以,如果在 Mac 上改文件名,需要用下面的命令

$ git mv --force myfile MyFile