(转)生活小贴士: 更好的shell-zsh

原作者:解解(我适当改了一些)

最近把自用的Ubuntu平台上的shell改成了zsh, zsh本身兼容Bash, 还拥有有许多Bash没有的强大的功能(比如支持一堆功能强大的plugin和漂亮的主题,强大的tab补全和纠错,比Bash更好的历史记忆等), 然而zsh本身的配置对普通的用户并不友好, 但是某个大神发明了一个叫oh-my-zsh的神奇玩意, 有了它, 我们可以事半功倍.

安装

sudo apt-get install zsh powerline

安装完成以后,用chsh -s /bin/zsh把zsh变成默认shell,

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

插件

在.zshrc中 plugins=() 可以选择启用的插件,插件名写入括号, 用空格来分隔.

oh-my-zsh中自带的插件十分丰富, 在这里 可以找到它们的介绍, 有些十分有用的插件oh-my-zsh中没有自带, 我们可以把下载来的插件放在 ~/.oh-my-zsh/custom/plugins 目录中。

比如我们要按照一个叫zsh-syntax-highlighting的插件(这个插件可以提示输入的命令是否正确, 正确的命令会显示成绿色, 而错误的会显示成红色, 由于zsh强大的命令纠错功能, 输入的命令错误的话可以直接狂按tab来修正), 可以直接用git命令把它从github拷贝到插件目录中:

git clone git://github.com/jimmijj/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting

要加强zsh的补全功能实现tab自动纠错, 我们把下面两行文字加入 oh-my-zsh/lib/completion.zsh

zstyle ':completion:incremental:*' completer _complete _correct
zstyle ':completion:*' completer _complete _prefix _correct _prefix _match _approximate

常用插件:

  • zsh-syntax-highlighting
  • 很好的插件, 功能前面已经说过了
  • theme
  • 在终端中输入theme切换主题
  • colorize
  • 让cat支持高亮
  • history history-substring-search per-directory-history
  • 这几个插件是增强历史记录功能的, 试试看输入sudo后按上方向键会有什么奇异的效果?
  • colored-man
  • 让手册也变成彩色的
  • autojump
  • 智能目录跳转: autojump + 目录名可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全。需要先安装autojump,运行sudo apt-get install autojump
  • sudo
  • 输入一段命令后按两次ESC会自动在命令前面加上sudo
Buwai Lee

Buwai Lee

交换图都不会画的魔法师