This repository includes the configuration files I use for terminal applications like VIM
, tmux
and others.
In order to use the VIM plug-in vim-devicons
and avoid icon/font display issues while decorating the tmux status bar, one needs to install Nerd Fonts
. For macOS users, installation via Homebrew is simple:
brew tap homebrew/cask-fonts
brew install font-hack-nerd-font
Linux users should consult the Nerd Fonts repository for installation details.
I use a fairly simple iTerm2 profile that re-defines some useful key mappings from Mac's own Terminal.app. It also makes Hack Regular Nerd Font (see above) the default terminal font.
I use the lsd
utility instead of the default one. For macOS users, installation via Homebrew is as follows:
brew install lsd
I use vim-plug
for managing VIM plug-ins. The .vimrc
file should take care of bootstrapping vim-plug
if it isn't there already. However, if you run into issues you can manually set it up via:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
If vim-plug
is installed manually, you will also need to issue the VIM command :PlugUpdate
manually to fetch and install the actual plug-ins.
Be aware that macOS does not ship with a vim-gutentags
compatible ctags
binary. To use vim-gutentags
on macOS, one needs to install Ctags through Homebrew.
Out of the box, ALE
tries to auto-detect and enable as many tools as it can, so one does not need to do extra configuration. For Python, I recommend pyls
and my .vimrc
chooses it as the sole Python tool if the executable pyls
is in ${PATH}
. As of this writing, I couldn't get clangd
to work in ALE
, so my .vimrc
defaults to clang
or gcc
for linting. Syntax checking does not yet work in C/C++.
I generally use FZF
for searching. I also use ag
, which the FZF plug-in also supports. Fellow macOS users can use Homebrew to install ag
via:
brew install the_silver_searcher
I use a custom script (scripts/tmux-select-pane
) to facilitate seamless movements between TMux and VIM panes.