0%

ubuntu 下定制 zsh

ubuntu 18.04下定制zsh,包括

  • zsh
  • oh-my-zsh
  • z.lua
  • fzf
  • syntax-highlighting
  • autosuggestions
  • powerlevel9k

zsh

# install zsh
$ sudo apt install zsh

# change default sh to zsh
$ chsh -s /bin/zsh

# change bash to zsh
$ sudo vim /etc/passwd

oh-my-zsh

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

z.lua

$ cd ~/.oh-my-zsh/custom/plugins
$ git clone https://github.com/skywind3000/z.lua.git

.zshrc中添加如下配置

eval "$(lua5.3 ~/.oh-my-zsh/custom/plugins/z.lua/z.lua  --init zsh once enhanced)"
export _ZL_ROOT_MARKERS=".repo,.svn,.hg,.git"
alias zz='z -c' # 严格匹配当前路径的子路径
alias zi='z -i' # 使用交互式选择模式
alias zf='z -I' # 使用 fzf 对多个结果进行选择
alias zb='z -b' # 快速回到父目录
alias zh='z -I -t .' # 回到历史路径

注意lua5.3根据当前系统来选择

zsh-syntax-highlighting

$ cd ~/.oh-my-zsh/custom/plugins
$ git clone git://github.com/zsh-users/zsh-syntax-highlighting.git

.zshrc plugins中增加zsh-syntax-highlighting

zsh-autosuggestions

$ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

.zshrc plugins中增加zsh-autosuggestions

可以使用ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=5'来改变颜色

fzf

如果vim中已安装junegunn/fzf,例如

Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }

另外一种方式

$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
$ ~/.fzf/install

最终都是执行install来完成安装

.zshrc中添加

[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

git

oh-my-zsh内置插件git提供了大量git缩写,可以启用,也可以参考git插件,在.zshrc中添加常用缩写

powerlevel9k

powerlevel9k用于增强显示,需要power line font

$ git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

# powerline & fonts-powerline
$ sudo apt install powerline fonts-powerline

# https://github.com/bhilburn/powerlevel9k/wiki/Install-Instructions#step-2-install-a-powerline-font
# Option 3: Install Awesome-Powerline Fonts
$ git clone https://github.com/gabrielelana/awesome-terminal-fonts
$ cd awesome-terminal-fonts
$ ./install.sh

.zshrc中启用powerlevel9k及字体支持

ZSH_THEME="powerlevel9k/powerlevel9k"
POWERLEVEL9K_MODE='awesome-fontconfig'

powerlevel9k高度可定制,参考页面 show off your config

定制如下

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(battery root_indicator dir dir_writable)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status ram time background_jobs command_execution_time)

dircolor

dircolor影响ls输出,使用命令echo $LS_COLORS可以检查

选择开源工程 dircolors-solarized

todo

oh-my-zsh安装指南页面,存在一系列安装方式,除了本文手动方式,提供了类似vim的管理插件,例如

  • Prezto Install
  • Antigen Install
  • Zplug Install
  • Zgen Install

接下来选择使用zplugin来管理.zshrc

Ref

  1. oh-my-zsh 的安装与基本配置
  2. zsh 的安装与配置
  3. 终端折腾记
  4. 定制一款漂亮的终端
  5. 一个会学习你习惯的 cd 命令 - z.lua
  6. [Shell 脚本:模糊搜索神器 fzf, bash 神器,fzf 用法,fzf 详解]([http://justcode.ikeepstudying.com/2018/03/shell%E8%84%9A%E6%9C%AC%EF%BC%9A%E6%A8%A1%E7%B3%8A%E6%90%9C%E7%B4%A2%E7%A5%9E%E5%99%A8fzf-bash%E7%A5%9E%E5%99%A8-fzf%E7%94%A8%E6%B3%95-fzf%E8%AF%A6%E8%A7%A3/](http://justcode.ikeepstudying.com/2018/03/shell 脚本:模糊搜索神器 fzf-bash 神器 -fzf 用法 -fzf 详解 /))
  7. mac 装了 oh my zsh 后比用 bash 具体好在哪儿?
  8. 有哪些命令行的软件堪称神器?
  9. Comparison of ZSH frameworks and plugin managers