macOS X默認shell終端是dash,可以通過cat /et/shells查看系統支持哪些shell。
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
當前終端窗口正在使用的shell可以通過命令echo $SHELL查看,例如如下是我當前使用的shell。
>> echo $SHELL
/bin/zsh
雖然默認的bash已經能夠支持基本的功能,但是程序員們都是有追求的人,希望能夠有更加酷炫、功能強大的shell,本文介紹如何通過Iterm2+zsh打造一個漂亮而又強大的終端。
一、安裝Iterm2
前往Iterm2官網下載,安裝提示進行安裝,非常簡單不進行贅述。Iterm2是一個MacOS系統下的終端軟件,有很多漂亮的配色方案,也有原生終端不支持的其他功能,包括主題選擇、聲明高亮、自動填充建議、隱藏用戶名和主機名、分屏效果等,廣受好評。
要聲明的是如果你只是追求配色酷炫,即便不使用Iterm2,使用原生的終端加上一些配色的方案也能夠實現。
下載Iterm2-Color-Schemes配色方案,下載地址:
https://github.com/mbadolato/iTerm2-Color-Schemes.git,下載后進入terminal目錄,此目錄下的terminal文件為配色方案描述文件,可以通過"終端"->"偏好設置"->"描述文件"->"導入"將配色主題方案導入到終端,如下圖所示:
二、安裝ZSH
新版本的Mac默認安裝了ZSH,但是默認的shell是dash,可以使用以下命令切換到zsh。
$ chsh -s $(which zsh)
或者
$ chsh -s /bin/zsh
如果系統未安裝zsh可以通過homebrew安裝或者通過curl方式進行安裝。
$ brew install zsh
或者
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
驗證是否安裝并切換到zsh成功:
$ echo $0
-zsh
注意,安裝成功以后,zsh的配置為~/.zshrc,后續的各種配置在此配置文件修改,例如主題。
三、配置主題和字體
打開~/.zshrc配置文件,修改主題為agnoster。
ZSH_THEME="agnoster"
agnoster是zsh比較常用的主題之一,zsh支持眾多的主題,主題列表查看:
https://github.com/robbyrussell/oh-my-zsh/wiki/themes。
agnoster主題需要有配套的的字體,下載Meslo字體:Meslo LG M Regular for Powerline.ttf,點擊按照提示進行安裝。
打開"終端"->"偏好設置"->"描述文件",選擇"字體"->"更改",選擇"Meslo LG M Regular for Powerline"。
以上基本完成了酷炫的MacOS X終端配置。
四、語法高亮
針對特殊的命令和錯誤,如可執行文件等,進行語法高亮展示。這可以通過zsh-syntax-highlighting插件實現。
- 通過Homebrew安裝
$ brew install zsh-syntax-highlighting
在~/.zshrc配置文件最后增加如下內容:
$ source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
- 手動安裝
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
在~/.zshrc配置文件plugins配置最后增加如下內容:
plugins=(git zsh-syntax-highlighting)
通過以上方法可以根據需要安裝其他的插件,例如命令自動填充支持插件zsh-autosuggestions等。
五、Iterm2快捷命令
command + enter 進入與返回全屏模式
command + t 新建標簽
command + w 關閉標簽
command + 數字 command + 左右方向鍵 切換標簽
command + enter 切換全屏
command + f 查找
command + d 水平分屏
command + shift + d 垂直分屏
command + option + 方向鍵 command + [ 或 command + ] 切換屏幕
command + ; 查看歷史命令
command + shift + h 查看剪貼板歷史
ctrl + u 清除當前行
ctrl + l 清屏
ctrl + a 到行首
ctrl + e 到行尾
ctrl + f/b 前進后退
ctrl + p 上一條命令
ctrl + r 搜索命令歷史
六、隱藏用戶和主機名
有時候用戶名和主機名太長不利于展示,可以通過配置隱藏用戶名和主機名,在~/.zshrc配置文件中增加如下配置
DEFAULT_USER="lucas-os"
其中"lucas-os"是我的本地用戶名,更改為你的本地用戶名即可,配置完成后使之生效即可隱藏用戶名和主機名。
$ source ~/.zshrc
七、卸載ZSH
$ cd ~/.oh-my-zsh/tools
$ chmod +x uninstall.sh
$ ./uninstall.sh
$ rm -rif .zshrc