MacOSX默认shell终端是dash,可以通过cat/et/shells查看系统支持哪些shell。要声明的是如果你只是追求配色酷炫,即便不使用Iterm2,使用原生的终端加上一些配色的方案也能够实现。以上基本完成了酷炫的MacOSX终端配置。这可以通过zsh-syntax-highlighting插件实现。

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快捷命令commandenter 进入与返回全屏模式commandt 新建标签commandw 关闭标签command数字 command左右方向键切换标签commandenter 切换全屏commandf 查找commandd 水平分屏commandshiftd 垂直分屏commandoption方向键 command[ 或 command]切换屏幕command; 查看历史命令commandshifth 查看剪贴板历史ctrlu清除当前行ctrll清屏ctrla到行首ctrle到行尾ctrlf/b 前进后退ctrlp上一条命令ctrlr搜索命令历史
有时候用户名和主机名太长不利于展示,可以通过配置隐藏用户名和主机名,在~/.zshrc配置文件中增加如下配置
DEFAULT_USER="lucas-os"
其中"lucas-os"是我的本地用户名,更改为你的本地用户名即可,配置完成后使之生效即可隐藏用户名和主机名。
$ source ~/.zshrc
$ cd ~/.oh-my-zsh/tools$ chmodx uninstall.sh$ ./uninstall.sh$ rm -rif .zshrc
