Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

dotfiles config contains vim, zsh, tmux configurations.

MacOS setup

Set up using dotbot:

git clone
cd dotfiles
# to bootstrap
make bootstrap
# under Linux desktop, install essential packages
make linux
# under macOS
make macos


  • using dotbot to manage dotfiles, read more
  • zsh, using zinit as zsh plugin management
  • vim, using vim-plug to manage vim plugins, vim-plug relate configuration is under vim-plug_vimrc. In Vim, :PlugInstall to install all vim plugins.
  • tmux, using tpm to manage tmux plugins, in tmux, press Ctrl +B + I to install all tmux plugins.
  • other useful tools, like fzf to fuzzy search, ripgrep for recursively searching directories, zoxide to replace cd, exa to replace ls

zsh config

to see .zshrc file

Vim config

vim-plug related configuration is under vim-plug_vimrc, to show all plugins list, use :PluginList in vim.

python related configurations is under python_vimrc.


  • bin/: executable shell scripts, Anything in bin/ will get added to your $PATH and be made available everywhere.
  • conf/: configuration file of zsh etc

Instruction under Linux

Just run ./, everything is done. Then Enter the vim run :PlugInstall to install all plugins.

install manually

Or, you can do it manually follow the step:

Enter vim, run :PlugInstall, after install all plugin, you will meet an error,

Taglist: Exuberant ctags ( not found in PATH. Plugin is not loaded.

For Ubuntu and derivatives:

sudo apt-get install exuberant-ctags

with yum:

sudo yum install ctags-etags


Tmux 配置參考了 gpakosz 的大部分配置。Tmux 的基础部分可以参考这篇 文章。


  • tmux >= 2.1
  • 在 tmux 运行的环境中,$TERM 需要设置为 xterm-256color


  • 在保留C-b 的前提下,C-a 作为第二选择
  • prefix + | 开启垂直分割的新 panel, prefix + - 水平分割
  • C-hjkl 直接在多 panel 中跳转
  • Tmux 调整 Pane 窗口大小 prefix + Shift + HJKL

使用 Tmux Plugin Manager 管理,默认有如下插件

set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'

fzf config

There are following alias in .zshrc :

  • fe : open file using $EDITOR
  • fo : open file Ctrl-o using open, Ctrl-e use $EDITOR
  • fd : cd path
  • fkill : kill process
  • tm : tm new tmux session
  • fs : tmux attach tmux session