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配色方案,下载地址:,下载后进入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 )"
验证是否安装并切换到zsh成功:
$ echo $0 -zsh
注意,安装成功以后,zsh的配置为~/.zshrc,后续的各种配置在此配置文件修改,例如主题。
三、配置主题和字体
打开~/.zshrc配置文件,修改主题为agnoster。
ZSH_THEME="agnoster"
agnoster是zsh比较常用的主题之一,zsh支持众多的主题,主题列表查看:。
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
- 手动安装
$ git clone $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 unin $ ./unin $ rm -rif .zshrc