zsh安装、使用

zsh简介

zsh是shell语言类型,兼容bash,提供强大的命令行功能,比如tab补全,自动纠错功能等。缺点就是配置太麻烦,好在有一个叫做oh-my-zsh的开源项目,很好的弥补了这一缺陷,只需要修修改改配置文件,就能很顺手。

安装zsh

查看系统有几种shell

cat /etc/shells

安装zsh

yum install zsh

设置当前用户使用zsh

chsh -s /bin/zsh

安装oh-my-zsh

  • curl安装

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    
  • wget安装

    sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    

修改oh-my-zsh配置文件

vi ~/.zshrc

# 修改插件
plugins=(
  # 内置插件,启用即可
  git
  cp
  mv
  # 按两下esc键,用sudo权限
  sudo
  # 记录历史输入的zsh命令,自动提示,快速使用
  zsh-autosuggestions
  # zsh 命令高亮
  zsh-syntax-highlighting
)

# 修改主题
ZSH_THEME="robbyrussell"
# 修改随机主题
ZSH_THEME="random"
# 设置哪些主题随机(可选)
ZSH_THEME_RANDOM_CANDIDATES=(
  "robbyrussell"
  "agnoster"
)

卸载zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" "" --unattended

安装autojump插件

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

cd autojump
# 安装
./install.py 
# 卸载
./uninstall.py

安装完成后根据提示下面命令加入~/.bashrc或者~/.zshrc

安装zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

安装zsh-syntax-highlighting

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

$ZSH_CUSTOM 其实是个变量,代表这个路径~/.oh-my-zsh/custom
也就是安装到了这个目录下。还有很多高效插件,等您发掘~oh my zsh官网

// 每次修改了这个`.zshrc`配置文件,需要重载一下,才能生效。
source .zshrc
// 也可以封装成一个简写命令 alias
alias rl='source ~/.zshrc'

zsh使用

  • ⌃ + u:清空当前行

  • ⌃ + a:移动到行首

  • ⌃ + e:移动到行尾

  • ⌃ + f:向前移动

  • ⌃ + b:向后移动

  • ⌃ + p:上一条命令

  • ⌃ + n:下一条命令

  • ⌃ + r:搜索历史命令

  • ⌃ + y:召回最近用命令删除的文字

  • ⌃ + h:删除光标之前的字符

  • ⌃ + d:删除光标所指的字符

  • ⌃ + w:删除光标之前的单词

  • ⌃ + k:删除从光标到行尾的内容

  • ⌃ + t:交换光标和之前的字符

    1、兼容 bash,原来使用 bash 的兄弟切换过来毫无压力,该咋用咋用。

    2、强大的历史纪录功能,输入 grep 然后用上下箭头可以翻阅你执行的所有 grep 命令。

    3、智能拼写纠正,输入gtep mactalk * -R,系统会提示:zsh: correct ‘gtep’ to ‘grep’ [nyae]? 比妹纸贴心吧,她们向来都是让你猜的……

    4、各种补全:路径补全、命令补全,命令参数补全,插件内容补全等等。触发补全只需要按一下或两下 tab 键,补全项可以使用 ctrl+n/p/f/b上下左右切换。比如你想杀掉 java 的进程,只需要输入 kill java + tab键,如果只有一个 java 进程,zsh 会自动替换为进程的 pid,如果有多个则会出现选择项供你选择。ssh + 空格 + 两个tab键,zsh会列出所有访问过的主机和用户名进行补全

    5、智能跳转,安装了autojump之后,zsh 会自动记录你访问过的目录,通过 j + 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过hadoop-1.0.0目录,输入j hado 即可正确跳转。j –stat 可以看你的历史路径库。

    6、目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。

    7、在当前目录下输入 … 或 … ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。

    8、通配符搜索:ls -l **/*.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find,文件太多就歇菜了。

git别名

// 比如
`git status`时,只需要输入`gst`。
`git pull` 时,只需要输入`gl`。
`git push 时,只需要输入`gp`等等。

详见 oh my zsh plugin git.plugin.zsh

参考:https://zhuanlan.zhihu.com/p/19556676

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值