Terminal 升级
Mac 原生的 Terminal 中规中矩,没有特别好看,也没有特别有效率。因此参考之前的经验决定:
- 用 iTerm2 代替 Terminal。
- 用 zsh 代替 bash。
- 针对 zsh 做部分优化。
iTerm2 安装与配置
因为 Homebrew 的 update 最近一直很慢,因此直接从 iTerm2 网站 下载并安装。
修改 iTerm2 的 Color Schemes,在这个 iTerm2-Color-Schemes repro 中可以找到很多 schemes,下载后通过iTerm2
> Preferences
> Profiles
> Colors
> Color Presets...
来 load 需要的 scheme。
安装 zsh 和 oh-my-zsh
Bash 作为 Mac 的默认 shell 已经足够好用,但是 zsh 在一些细节上更胜一筹。通过命令cat /etc/shells
可以查看当前系统的 shell 类型。通过下面的命令来设置 zsh 作为默认 shell:1
chsh -s /bin/zsh
Zsh 的一个问题是配置起来比较麻烦,然而 oh-my-zsh 的出现改变了这一现状。通过 oh-my-zsh 的 theme,可以轻松的实现 zsh 的定制化。
安装 oh-my-zsh:
1 | $ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" |
配置 oh-my-zsh 的 theme:sudo vim ~/.zshrc
。在。zshrc 中找到并修改ZSH_THEME="agnoster"
安装 nerd font
Agnoster 主题的 prompt 依赖 nerd font project 中的一些特殊符号,如果没有,prompt 中会有乱码出现,因此需要按照对应的字体,安装方法:1
2brew tap caskroom/fonts
brew cask install font-sourcecodepro-nerd-font
最后到 iTerm2 中,通过Preferences
> Profiles
> Text
> Change Font
来启用安装的 nerd font`。
隐藏 hostname
当前的 hostname 又臭又长,不想在本机使用的时候看到 username@hostname 的形式。按照这个 issue 中的 comment 来修改 prompt 的形式:1
2
3
4
5
6
7# 编辑。zshrc
# 在文件的末尾粘贴如下内容:
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
最终的效果如下:
iTerm2 快捷键
1 | 新建 Tab:Cmd + t |
Vim 语法高亮
开启 Vi 语法高亮:1
2
3
4
5#编辑。vimrc
vi ~/.vimrc
#添加
syntax on
SSH 配置
- 配置好登陆用的私钥。
- 在
~/.ssh
下面创建 config 文件。 - 复制私钥到
~/.ssh
的子目录下。 - 编辑 config 文件:
1
2
3
4
5
6
7
8
9
10
11Host <myshortname realname.example.com>
HostName <realname.example.com>
IdentityFile ~/.ssh/<realname_rsa> # private key for realname
User <remoteusername>
# or
Host <hostalias>
HostName <host ip address>
IdentityFile ~/.ssh/<realname_rsa> # private key for realname
User <remoteusername>
配置好之后可以直接ssh <hostname>
登陆远程机器。
VSCODE 配置
安装了 oh-my-zsh 之后,在 code 的 terminal 中无法显示 Nerd Font 中包含的 icon。根据这个 post 可以解决问题:
- Install Nerd Fonts
- Change settings in vscode:
"terminal.integrated.fontFamily": "Hack Nerd Font"