作为一个程序员,日常生活中少不了跟命令行打交道。因此,一个好看易用的终端,对于生产力的提升是巨大的。
这里分享下我在 macOS 系统上的终端配置方案。
Prerequisite
安装 Homebrew
Homebrew 是 macOS 平台下的软件包管理工具,非常好用。
1
2
3
$ xcode-select --install
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ brew -v
安装 Wget
1
$ brew install wget
iTerm2
GitHub repo: https://github.com/gnachman/iTerm2
iTerm2 用于替代 macOS 原生的 terminal,提供了更多特性。
常用功能/设置
多窗口
-
通过
command + d
新建水平方向的窗口,command + shift + d
新建垂直方向的窗口。 -
通过
command + [
和command + ]
进行各窗口间的切换。
使用 option + Right/Left Arrow 进行 word 的左右跳转
这个快捷键在原生的 terminal 中是默认支持的,但在 iTerm2 中需要重新配置一下:「Preference」 => 「Profiles」 => 「Keys」 => 「Key Mappings」
Keyboard Shortcut | Action | Esc+ |
---|---|---|
option + Left | Send Enscape Sequence | b |
option + Right | Send Enscape Sequence | f |
参考问题:Using Alt/Cmd + Right/Left Arrow in iTerm
在新建 Tab 的时候保留当前的路径
「Preference」 => 「Profiles」 => 「General」 => 「Working Directory」 => 「Reuse previous session’s directory」
Oh My Zsh
在 macOS 中,默认已经安装了 zsh。Oh My Zsh
是基于 zsh 命令行的一个扩展工具集,提供了主题配置、插件机制等丰富的拓展功能。
1
$ sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
powerlevel10k
下载 powerlevel10k 主题,与 powerlevel9k 相比,其在运行效率上有着明显的提升。
1
$ git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
同时更新 ~/.zshrc
文件中的变量 ZSH_THEME
,使其生效:
1
ZSH_THEME=powerlevel10k/powerlevel10k
安装字体
下载并安装 Hack Nerd Font (也可以选择一个自己偏好的字体),同时对终端配置进行修改:「Preferences」 => 「Profiles」 => 「Text」 => 「Font」
配置 powerlevel10k
以下是个人偏好的配置,可以根据自己的需求进行更改:
1
$ p10k configure
- Prompt Style: (3) Rainbow
- Character Set: (1) Unicode
- Show current time?: (2) 24-hour format
- Prompt Separators: (1) Angled
- Prompt Heads: (1) Sharp
- Prompt Tails: (1) Flat
- Prompt Height: (2) Two lines
- Prompt Connection: (2) Dotted
- Prompt Frame: (1) No frame
- Connection Color: (3) Dark
- Prompt Spacing: (2) Sparse
- Icons: (2) Many icons
- Prompt Flow: (1) Concise
- Enable Transient Prompt?: (y) Yes
- Instant Prompt Mode: (1) Verbose
终端的预览效果如下:
插件
这里推荐一些好用的插件,可以集成到终端中配合使用。
添加的插件需要在 ~/.zshrc
文件中修改 plugins 处的代码才能生效,例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
plugins=(
git
github
colorize
colored-man-pages
brew
osx
docker
docker-compose
autojump
python
autopep8
zsh-autosuggestions
zsh-syntax-highlighting
)
autojump
实现目录间的快速跳转。
1
$ brew install autojump
zsh-autosuggestion
基于历史记录,进行命令的推荐和补全。
1
$ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting
对输入的命令提供高亮显示和语法检查。
1
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
exa
用于替代原生的 ls
,通过不同的颜色来更好地区分文件的类型及相关的元属性。
1
$ brew install exa
同时需要在 ~/.zshrc
文件中加入 alias:
1
alias ls="exa"