热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

shell终极操作

1、安装zshMac:直接看下一节Redhatcentos:sudoyuminstallzshUbuntu:sudoapt-getinstallzsh2

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 , public domain
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     #使其立即生效

转:https://www.cnblogs.com/blueskycc/p/5602791.html



推荐阅读
author-avatar
茶不离
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有