This is my personal dotfiles which contain config for vim, zsh, tmux, git, fzf, etc; ## macOS setup Set up by using [dotbot](https://blog.einverne.info/post/2020/08/use-dotbot-dotfiles-management.html): cd ~ git clone git@github.com: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 Log out and log in again, zinit will install all plugins automatically. If you tried to edit file by vi, the vim-plug will install all plugins automatically. ## Termux setup Install dependency first: pkg install make python vim git then: git clone git@github.com:einverne/dotfiles.git cd dotfiles make termux ## Overview - using [dotbot](https://github.com/anishathalye/dotbot/) to manage dotfiles, [read more](https://blog.einverne.info/post/2020/08/use-dotbot-dotfiles-management.html) - zsh, using [zinit](https://blog.einverne.info/post/2020/10/use-zinit-to-manage-zsh-plugins.html) as zsh plugin management - vim, using [vim-plug](https://github.com/junegunn/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](https://blog.einverne.info/post/2017/12/tmux-plugins.html) to manage tmux plugins, in tmux, press `Ctrl +B` + `I` to install all tmux plugins. - other useful tools, like [fzf](https://blog.einverne.info/post/2019/08/fzf-usage.html) to fuzzy search, ripgrep for recursively searching directories, zoxide to replace cd, exa to replace ls. GUI applications: - Kitty - Karabiner-Elements - Hammerspoon ### 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 for vim Enter the vim and then 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 config I take some Tmux config from [gpakosz](https://github.com/gpakosz/.tmux). If you want to learn more about tmux, you can check [this article](http://einverne.github.io/post/2017/07/tmux-introduction.html). You can manually install tmux plugins by `prefix + I`. Tmux need: - `tmux >= 2.1` - You should set `$TERM` environment for `xterm-256color` Tmux config: - You can use `C-b` as prefix, and use `C-a` as second choice - `prefix + |` to split panel vertically, `prefix + -` split panel horizontally - `C-hjkl` to switch pane - `prefix + 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' ## fzf config 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