偶然的机会接触到zsh这个shell界的扛把子,本文作为笔记,记录一下学习过程,持续学习,持续更新ing。
常见的shell有这么几种:bash、sh、csh等。具体的可以查看/etc/shells了解:
> cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
Mac 相比于Linux,多了一个zsh,因为MacOS预装了zsh,这个家伙被称为shell中的极品。日常在Linux和Mac中默认使用的都是bash,但是zsh才是真正的高手,只不过配置比较复杂,很少有人去玩。
zsh的配置文件是 ~/.zshrc,所以可以在这个文件配置任何你想要的功能。
Github上有一个名为oh-my-zsh的项目,整理了一些 zsh 常用的扩展功能和主题。这个可以帮助我们快速学会zsh的使用。项目地址
- 安装oh my zsh:
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
安装完之后,新开一个窗口,就可以看到这个彩色的命令行窗口了。
- 别名的设置
alias cls='clear'
alias ll='ls -l'
alias la='ls -a'
alias vi='vim'
alias javac="javac -J-Dfile.encoding=utf8"
alias grep="grep --color=auto"
alias -s html=mate # 在命令行直接输入后缀为 html 的文件名,会在 TextMate 中打开
alias -s rb=mate # 在命令行直接输入 ruby 文件,会在 TextMate 中打开
alias -s py=vi # 在命令行直接输入 python 文件,会用 vim 中打开,以下类似
alias -s js=vi
alias -s c=vi
alias -s java=vi
alias -s txt=vi
alias -s gz='tar -xzvf'
alias -s tgz='tar -xzvf'
alias -s zip='unzip'
alias -s bz2='tar -xjvf'
- 主题的设置
oh my zsh 提供了数十种主题,相关文件在~/.oh-my-zsh/themes目录下,你可以随意选择,也可以编辑主题满足自己的变态需求。
在~/.zshrc中找到ZSH_THEME="",这里替换成对应的主题名称即可。然后source ~/.zshrc使更改生效。
- 插件
系统默认只加载了git插件,但是实际上oh my zsh 提供了上百种插件,可以在~/.zshrc中找到 plugins=(git textmate mvn) 直接在后面添加需要的插件即可,像我这里添加了textmate和mvn。
- 其他
色彩高亮、命令提示、智能补全 这些懒得写了,因为拖了好几天才写完。等以后闲了再补充吧~
- 最后
切换shell(bash和zsh工具之间切换)
chsh -s /bin/bash #切换bash 需要重启/新建窗口
chsh -s /bin/zsh #切换zsh 需要重启/新建窗口
- 解决chsh -s /bin/zsh命令切换失败
sudo chsh -s /bin/zsh 输入密码回车,若不行使用方法2
终端输入:
dscl . -read /Users/$USER/ UserShell
exec su - $USER
然后在输入密码即可