My ~/.vim directory. All hail vim.
Plugins are managed using the Pathogen plugin manager and tracked using git submodule
. Use the --recursive
option when cloning this repository to
automatically download and install them.
git clone --recursive https://github.com/kwakwaversal/vimfiles.git ~/.vim
Set up a symbolic link to this repository's vimrc
file if using an older
version of vim. (Newer versions pick up the existence of the .vim
folder and
contained vimrc
file.)
ln -s ~/.vim/vimrc ~/.vimrc
If a vim plugin has been added after you cloned this repository, you need to reinitialise the git submodules and update them.
git submodule update --init
The plugin coc.vim requires additional configuration. The below is entered
directly from within vim
itself.
:call coc#util#install()
:CocInstall coc-tsserver coc-eslint coc-json coc-prettier
Update/install the latest version of vim (optionally with clipboard support).
apt-get install libx11-dev libxt-dev libperl-dev ncurses-dev python python-dev
git clone --depth 1 https://github.com/vim/vim
# python3
./configure --disable-gui --enable-perlinterp --enable-python3interp=yes --with-features=huge --with-compiledby=inside --with-x
# python2
./configure --disable-gui --enable-perlinterp --enable-pythoninterp=yes --with-features=huge --with-compiledby=inside --with-x
make -j8
make install
Alternatively see https://github.com/jjangsangy/Dotfiles/wiki/Debian-Vim for more complete instructions.
My environment consists of Terminator, using the Powerline font Liberation Mono for Powerline
.
Pathogen is used as the plugin manager of choice.
- ack-vim searching files
- solarized colour scheme
- vim-airline status/tabline
- vim-airline-themes airline themes
- vim-commentary comment stuff out
- vim-cucumber cucumber indentation, highlighting etc.
- vim-dockerfile syntax highlighting for Dockerfiles
- vim-expand-region quickly expand visual selection
- vim-fugitive-gitlab fugitive+gitlab integration
- vim-fugitive git wrapper
- vim-fzf finding files
- vim-javascript Vastly improved Javascript indentation and syntax support in Vim
- vim-gitgutter git line diffs in the "gutter"
- vim-pgsql Vim Postgresql syntax file
- vim-perl perl 5 and 6 support
- vim-projectionist cycle between related files
- vim-repeat add vim repeat feature to extra plugins (e.g., surround)
- vim-surround manipulate surroundings in pairs
- vim-tmux-navigator navigate between vim and tmux splits
- vim-typescript syntax files for typescript
- vim-unimpaired helpful mappings
- vimux interact with tmux from vim
Removed
The Vim plugins are managed using git submodule
.
git submodule add https://github.com/vim-perl/vim-perl.git bundle/vim-perl
When using these vimfiles
from multiple machines, git submodules might be
added in a commit from another machine so might need to be initialized.
git submodule init
git submodule update
In the master branch, recursively update all plugins to the latest version.
git submodule update --init --recursive
git submodule foreach --recursive git fetch
git submodule foreach git pull --ff-only origin master
If you've updated some plugins and they're causing issues or you don't want to commit the updated version you can reset them:
git submodule update --init
git submodule update --init vim-ultisnips
git submodule deinit -f -- bundle/vim-powerline
git rm --cached bundle/vim-powerline
See [https://stackoverflow.com/questions/10168449/git-update-submodule-recursive] for more information.
- Faster and more natural splits
- Guide to modern web development with neovim
- How to boost your vim productivity
- tmux and vim productivity gains shortcuts to move effortlessly between vim and tmux splits and panes, using the vimux plugin and more.
- Using tab pages
- Vim foldding
- Vim genius online flashcard-style vim game
- Vim tips and tricks contains useful tips on reformatting text.