dotfiles icon indicating copy to clipboard operation
dotfiles copied to clipboard

my personal dotfiles managed by dotbot, zinit

dotfiles config contains vim, zsh, tmux configurations.

MacOS setup

Set up using dotbot:

git clone [email protected]:einverne/dotfiles.git
cd dotfiles
# to bootstrap
make bootstrap
# under Linux desktop, install essential packages
make linux
# under macOS
make macos

Termux setup

Install dependency first:

pkg install make python vim git

then:

git clone [email protected]:einverne/dotfiles.git
cd dotfiles
make termux

Overview

  • 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.

Components

  • 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 ./install.sh, 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 (http://ctags.sf.net) 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

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