1、安装zsh
Mac : 直接看下一节
Redhat/centos :sudo yum install zsh
Ubuntu :sudo apt-get install zsh
2、安装oh my zsh
自动安装
wget https:
//github
.com
/robbyrussell/oh-my-zsh/raw/master/tools/install
.sh -O - | sh
手动安装
1.使用git clone 项目
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
2.备份~/.zshrc文件
cp ~/.zshrc ~/.zshrc.orig
3.创建新的zsh配置文件
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
4.设置zsh为默认shell
chsh -s /bin/zsh
接下来配置适合自己Zsh
1.主题修改,我比较喜欢前面是$符号,所以选择了steeef这款主题
$ vim ~/.zshrc
配置文件里找到:
ZSH_THEME="robbyrussell"
修改为:
ZSH_THEME="steeef"
3、下载incr
下载地址: http://mimosa-pudica.net/zsh-incremental.html
为了防止该网址将来不能访问,因此我把代码摘录如下:
# Incremental completion for zsh
# by y.fujii
autoload -U compinit
zle -N self-insert self-insert-incr
zle -N vi-cmd-mode-incr
zle -N vi-backward-delete-char-incr
zle -N backward-delete-char-incr
zle -N expand-or-complete-prefix-incr
compinitbindkey -M viins '^[' vi-cmd-mode-incr
bindkey -M viins '^h' vi-backward-delete-char-incr
bindkey -M viins '^?' vi-backward-delete-char-incr
bindkey -M viins '^i' expand-or-complete-prefix-incr
bindkey -M emacs '^h' backward-delete-char-incr
bindkey -M emacs '^?' backward-delete-char-incr
bindkey -M emacs '^i' expand-or-complete-prefix-incrunsetopt automenu
compdef -d scp
compdef -d tar
compdef -d make
compdef -d java
compdef -d svn
compdef -d cvs# TODO:
# cp dir/
now_predict=0function limit-completion
{if ((compstate[nmatches] <&#61; 1)); thenzle -M ""elif ((compstate[list_lines] > 6)); thencompstate[list]&#61;""zle -M "too many matches."fi
}function correct-prediction
{if ((now_predict &#61;&#61; 1)); thenif [[ "$BUFFER" !&#61; "$buffer_prd" ]] || ((CURSOR !&#61; cursor_org)); thennow_predict&#61;0fifi
}function remove-prediction
{if ((now_predict &#61;&#61; 1)); thenBUFFER&#61;"$buffer_org"now_predict&#61;0fi
}function show-prediction
{# assert(now_predict &#61;&#61; 0)if((PENDING &#61;&#61; 0)) &&((CURSOR > 1)) &&[[ "$PREBUFFER" &#61;&#61; "" ]] &&[[ "$BUFFER[CURSOR]" !&#61; " " ]]thencursor_org&#61;"$CURSOR"buffer_org&#61;"$BUFFER"comppostfuncs&#61;(limit-completion)zle complete-wordcursor_prd&#61;"$CURSOR"buffer_prd&#61;"$BUFFER"if [[ "$buffer_org[1,cursor_org]" &#61;&#61; "$buffer_prd[1,cursor_org]" ]]; thenCURSOR&#61;"$cursor_org"if [[ "$buffer_org" !&#61; "$buffer_prd" ]] || ((cursor_org !&#61; cursor_prd)); thennow_predict&#61;1fielseBUFFER&#61;"$buffer_org"CURSOR&#61;"$cursor_org"fiecho -n "\e[32m"elsezle -M ""fi
}function preexec
{echo -n "\e[39m"
}function vi-cmd-mode-incr
{correct-predictionremove-predictionzle vi-cmd-mode
}function self-insert-incr
{correct-predictionremove-predictionif zle .self-insert; thenshow-predictionfi
}function vi-backward-delete-char-incr
{correct-predictionremove-predictionif zle vi-backward-delete-char; thenshow-predictionfi
}function backward-delete-char-incr
{correct-predictionremove-predictionif zle backward-delete-char; thenshow-predictionfi
}function expand-or-complete-prefix-incr
{correct-predictionif ((now_predict &#61;&#61; 1)); thenCURSOR&#61;"$cursor_prd"now_predict&#61;0comppostfuncs&#61;(limit-completion)zle list-choiceselseremove-predictionzle expand-or-complete-prefixfi
}
4、执行如下命令&#xff1a;
cd ~/.oh-my-zsh/plugins/
mkdir -p incr
cd incr
touch incr-0.2.zsh
&#xff08;将上面链接中的代码复制粘贴到incr-0.2.zsh文件中&#xff09;
chmod 777 incr-0.2.zsh
5、配置 .zshrc 文件:
vim ~/.zshrc
末尾加入
source ~/.oh-my-zsh/plugins/incr/incr*.zsh
6、 source ~/.zshrc #使其立即生效