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是一个MacOS系统下的终端软件,有很多漂亮的配色方案,也有原生终端不支持的其他功能,包括主题选择、声明高亮、自动填充建议、隐藏用户名和主机名、分屏效果等,广受好评。
要声明的是如果你只是追求配色酷炫,即便不使用Iterm2,使用原生的终端加上一些配色的方案也能够实现。
下载Iterm2-Color-Schemes配色方案,下载地址:
https://github.com/mbadolato/iTerm2-Color-Schemes.git,下载后进入terminal目录,此目录下的terminal文件为配色方案描述文件,可以通过"终端"->"偏好设置"->"描述文件"->"导入"将配色主题方案导入到终端,如下图所示:
新版本的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插件实现。
$ 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等。
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
$ cd ~/.oh-my-zsh/tools
$ chmod +x uninstall.sh
$ ./uninstall.sh
$ rm -rif .zshrc