切换到zsh
查看系统shell:Mac OS下,命令行输入cat /etc/shells
切换zsh:命令行输入chsh -s /bin/zsh
,根据提示输入用户密码
安装oh-my-zsh
前提是已经安装好git
自动安装:wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
手动安装:
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
安装完成重开shell即可
安装插件
提供的插件在~/.oh-my-zsh/plugins
目录下
添加插件
.zshrc
文件中plugins=(git)
(默认加载git)
几个插件
git
:当处于一个git受控的目录下时,Shell 会明确显示git和branch
对 git 很多命令进行了简化,例如gco=’git checkout’
、gd=’git diff’
、gst=’git status’
、g=’git’
命令内容可以参考~/.oh-my-zsh/plugins/git/git.plugin.zsh
osx
:tab增强,quick-look filename
可以直接预览文件,man-preview grep
可以生成grep手册的pdf版本等
autojump
默认安装好了brew
brew install autojump
把以下代码加入文件.zshrc
[[ -s $(brew --prefix)/etc/profile.d/autojump.sh ]] && . $(brew --prefix)/etc/profile.d/autojump.sh
简单配置
cd
并回车,打开用户当前目录,使用ls -A
显示所有文件(包括隐藏文件),应该会有一个.zshrc
文件
vi .zshrc
使用vim打开文件,i
进入insert模式编辑文件。
编辑完按esc
进入末行模式,输入:wq
并回车,会保存修改并退出vim,回到之前的shell窗口。
alias subl="'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'"
alias -s txt=subl
alias -s c=subl
alias -s zsh=subl
alias -s py=subl
alias -s js=subl
alias -s java=subl
alias -s html=subl
alias clr='clear'
alias ll='ls -l'
alias la='ls -a'
alias vi='vim'
alias grep="grep --color=auto"
alias -s gz='tar -xzvf'
alias -s tgz='tar -xzvf'
alias -s zip='unzip'
alias -s bz2='tar -xjvf'
主题设置
系统默认的主题可以在.zshrc
文件中看到ZSH_THEME="robbyrussell"
oh-my-zsh提供了很多主题,存在~/.oh-my-zsh/themes
目录下
更换主题
直接修改.zshrc
文件中ZSH_THEME="robbyrussell"
一行,把robbyrussell
改成themes目录下存在的文件名即可(不包括后缀)
编辑主题的部分内容
用文本编辑器(如sublime)打开theme文件(如robbyrussell.zsh-theme
),直接编辑保存即可
比如把原来的prompt修改为:
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p%{$fg[cyan]%}%d %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}'
现在shell显示的就是绝对路径了。
使用zsh
历史纪录:输入j
然后用上下箭头可以翻阅执行过的所有j
命令
智能拼写纠正,输入gtep mactalk * -R
,系统会提示:zsh: correct ‘gtep’ to ‘grep’ [nyae]?
各种补全:路径补全、命令补全,命令参数补全,插件内容补全等等。
触发补全 :按一下或两下tab
键,补全项可以使用 ctrl+n/p/f/b上下左右切换。
比如你想杀掉 java 的进程,只需要输入kill java + tab
,如果只有一个 java 进程,zsh 会自动替换为进程的 pid,如果有多个则会出现选择项供你选择。
ssh+空格+两个tab
,zsh会列出所有访问过的主机和用户名进行补全。
智能跳转,安装了autojump之后,zsh 会自动记录你访问过的目录,通过j + 目录名
可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全。j –stat
可以看历史路径库。
目录浏览和跳转:输入d
,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。
在当前目录下输入..
或...
,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。
通配符搜索:ls -l **/*.sh
,可以递归显示当前目录下的shell文件,文件少时可以代替find
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步