This is my personal dotfiles which contain config for vim, zsh, tmux, git, fzf etc;
Set up by using dotbot:
cd ~
git clone [email protected]:einverne/dotfiles.git
cd dotfiles
# to bootstrap config for vim, zsh, tmux, git, fzf, etc
make bootstrap
# under Linux desktop, install essential packages
make linux
# under macOS, install applications by brew
make mac
./install -c config/macos.conf.yaml
Log out and log in again, zinit will install all plugins automatically. If you use vi to edit file at first time, the vim-plug will install all vim plugins automatically.
Install dependency first:
pkg install make python vim git
then:
git clone [email protected]:einverne/dotfiles.git
cd dotfiles
make termux
- 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.
GUI applications:
- Kitty
- Karabiner-Elements
- Hammerspoon
to see .zshrc
file.
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
Enter the vim and then run :PlugInstall
to install all plugins.
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
I take some Tmux config from gpakosz. If you want to learn more about tmux, you can check this article.
You can manually install tmux plugins by prefix + I
.
Tmux need:
tmux >= 2.1
- You should set
$TERM
environment forxterm-256color
Tmux config:
- You can use
C-b
as prefix, and useC-a
as second choice prefix + |
to split panel vertically,prefix + -
split panel horizontallyC-hjkl
to switch paneprefix + Shift + HJKL
to adjust pane size
I use Tmux Plugin Manager to manage tmux plugins, and by default I use following plugins:
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-copycat'
There are following alias in .zshrc
:
- fe : open file using $EDITOR
- fo : open file Ctrl-o using open, Ctrl-e use $EDITOR
- fcd : cd path (fd to replace find)
- fkill : kill process
- tm : tm new tmux session
- fs : tmux attach tmux session