zsh自动完成辅助工具

什么是Zsh   html

      Zsh和bash同样,是一种Unix shell,但大多数Linux发行版本都默认使用bash shell。但Zsh有强大的自动补全参数、文件名、等功能和强大的自定义配置功能。python

替换Mac的bashlinux

Zsh虽然功能强大,但刚上手配置比较麻烦。别担忧,Github已经有开源项目oh-my-zsh。按照官方的文档安装,很是简单。git

1、使用curl自动安装github

       curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | shdocker

2、手动安装shell

    1.使用git clone 项目 vim

       git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zshruby

    2.备份~/.zshrc文件bash

       cp ~/.zshrc ~/.zshrc.orig

    3.建立新的zsh配置文件

       cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

    4.设置zsh为默认shell

      chsh -/bin/zsh

    5.重启Terminal或新建一个Terminal就能够看到效果了

 

接下来配置适合本身Zsh

    1.主题修改,我比较喜欢前面是$符号,因此选择了steeef这款主题

       $ vim ~/.zshrc

       配置文件里找到:

       ZSH_THEME="robbyrussell"

      修改成:

      ZSH_THEME="steeef"

      这里是官方提供的各类主题,有截图参考oh-my-zsh-themes

    2.插件的选择,支持git、brew、vi、osx等插件,具体请查看这里oh-my-zsh-plugins

    3.按两下tab会有惊喜,好比git 

选择oh-my-zsh

oh-my-zsh是基于zsh的功能作了一个扩展,方便的插件管理、主题自定义,以及漂亮的自动完成效果。

在Github上找关于zsh的项目时发现的,试用了一下以为很方便,不用像上面文章里面提到的那么复杂,配置一些插件的名称便可使用相应的功能。

官网:https://github.com/robbyrussell/oh-my-zsh

评价:https://github.com/robbyrussell/oh-my-zsh/wiki/Testimonials

截图欣赏(Git插件):

zsh的自动完成辅助工具:oh-my-zsh

再来一个自动完成:

zsh的自动完成辅助工具:oh-my-zsh

定义hash快速进入目录:

在~/.zshrc中定义:

hash -d blog="/home/henryyan/work/blog/henryyan.github.com"

zsh的自动完成辅助工具:oh-my-zsh

安装oh-my-zsh

进入Github的oh-my-zsh主页 https://github.com/robbyrussell/oh-my-zsh ,在下面有详细的安装方式。

自定义主题

在 https://github.com/robbyrussell/oh-my-zsh/wiki/themes 里面有不少主题能够选择,安装后只须要修改~/.zshrc的ZSH_THEME为文件夹的名称便可。

使用截图的主题

刚刚的几个截图的主题是我基于robbyrussell修改的,添加了当前登陆用户的名称和主机名称。

可是oh-my-zsh的做者太懒了,我在Github上Fork了项目而后提交我修改后的主题一直也没有合并,若是喜欢的话能够直接Clone个人oh-my-zsh分支,而后使用手动安装的方式安装oh-my-zsh;

手动安装完之后能够把当前的PATH变量设置到~/.zshrc中:

1
2
echo  "export PATH=$PATH"  >> ~/.zshrc
source  ~/.zshrc

修改主题:

1
vi  ~/.zshrc
修改  ZSH_THEME 为kafeitu,
1
source  ~/.zshrc

本身修改主题

若是提供的主题没有一个如意的(我就没有看中一个),你能够参考别人主题截图:https://github.com/robbyrussell /oh-my-zsh/wiki/themes 而后看一下对应的~/.oh-my-zsh/themes/foo 的源码,而后根据本身的须要自定义,最后再修改一下~/.zshrc的ZSH_THEME配置就能够了。

启用插件

在~/.oh-my-zsh/plugins/里面有不少插件能够选择启动,默认已经启用git插件,若是你像我同样是一个开发人员(Java),个人插件启用以下:

1
plugins=(ant mvn svn git)

Maven插件的截图

zsh的自动完成辅助工具:oh-my-zsh


官方插件一览:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins-Overview

插件安装方法

参考此处安装好 zsh 和 oh-my-zsh 后,打开文件~/.zshrc,其中有以下行:

plugins=(git)

将须要的插件按空格分开,放于此处便可。个人配置以下:

plugins=(git extract z sublime)

修改完后,若是须要在当前shell中生效,须要执行

source ~/.zshrc

git

oh-my-zsh 默认开启的插件,提供了大量 git 的alias。
详细列表请参见:
https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git

extract

功能强大的解压插件,全部类型的文件解压一个命令x全搞定,不再须要去记tar后面究竟是哪几个参数了。

强大的目录自动跳转命令,会记忆你曾经进入过的目录,用模糊匹配快速进入你想要的目录。

sublime

平时使用sublime比较多,该插件可使用命令行打开sublime。
经常使用命令以下:

st          # 直接打开sublime
st file_a   # 用sublime打开文件 file
st dir_a    # 用sublime打开目录 dir
stt         # 在sublime打开当前目录,至关于 st .

各类命令自动补全插件

除上面各类经常使用的插件外,官方还提供了大量插件,大部分是针对某些功能的命令补全,如docker, python, pip, ruby, vagrant等。

虽然 oh-my-zsh 提供了不少插件,不过也不要贪多哦,大量的插件会拖慢打开的速度,所以只安装你经常使用的就行了。


安装zsh-syntax-highlighting插件

一样地,咱们要先下载它的源码,但在这里,咱们能够利用一下oh-my-zsh的插件管理功能:

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

而后,咱们打开~/.zshrc文件,找到如下段落;

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
    # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
    # Example format: plugins=(rails git textmate ruby lighthouse)
    # Add wisely, as too many plugins slow down shell startup.
    plugins=(git)

按照注释中的提示改为plugins=(git zsh-syntax-highlighting)便可。

安装autojump插件。

一样地,咱们须要先下载源码:

git clone git://github.com/joelthelion/autojump.git

而后安装该程序:

cd autojump
    ./install.py

最后,咱们只需在~/.zshrc文件中加入如下代码便可。

# install autojump
    [[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh

安装Powerline-Shell插件

其过程与autojump的安装基本相同,先下载源码:

git clone https://github.com/milkbikis/powerline-shell

再安装:

cd powerline-shell
    ./setup.py install

最后再配置~/.zshrc文件,在其末尾加入以下代码:

# install powerline-shell
function powerline_precmd() {
    PS1="$(powerline-shell --shell zsh $?)"
}

function install_powerline_precmd() {
  for s in "${precmd_functions[@]}"; do
    if [ "$s" = "powerline_precmd" ]; then
      return
    fi
  done
  precmd_functions+=(powerline_precmd)
}

if [ "$TERM" != "linux" ]; then
    install_powerline_precmd
fi

而后在cygwin中,咱们就看到以下最终效果:



工欲善其事,必先利其器 ,享受zsh带给你的快捷吧
相关文章
相关标签/搜索