myVimFiles icon indicating copy to clipboard operation
myVimFiles copied to clipboard

My vim configuration

MyVimFiles

My configuration for the best program of the world.

I'm not a vim master, but my configuration works great for me so feel free to use it, improve it, love it or hate it... The choice is yours :sunglasses:

My vim

It works on both GNU/Linux and Windows (The >old versions were not tested on windows).

Requirements

The requirements listed below (GNU/Linux) are managed and installed via scripts from my dotfiles repository, they are here just for reference (And for windows obviously).

Note that the external programs/packages are not mandatory.

Vim

To make use of all the features you need a relatively new version of vim which supports +job and +timers, and compiled with +python3 and +ruby.

Font(s)

The fonts are from nerd-fonts repo and are included in the configuration here.

  • 'FuraMono NF Medium' for GNU/Linux.
  • 'InconsolataForPowerline NF Medium' for Windows.

Formatters & fixers

Filetype(s) formatter
css, markdown, scss, yaml prettierN
html js-beautifyN
javascript standardN
json fixjsonN
python isortP, autopep8P
sh/bash shfmt

Linters

filetype linter
c gccB
coffee coffe-scriptN, coffeelintN
css csslintN
html HTMLHintN
javascript standardN
json jsonlintN
php phpB
python flake8P
sass/scss sass-lintN
sh/bash shellcheck, shB
viml vim-vintP
yaml yamllintP

Coc extensions

Install using :CocInstall

coc-snippets
coc-highlight
coc-vimlsp
coc-tsserver
coc-python
coc-phpls
coc-json
coc-html
coc-css

Note that coc-python needs jediP

Miscellaneous

Extra

Some npm packages that will make you developer's life easier:

  • browser-sync for live previewing static & dynamic sites.
  • shiba for live previewing markdown.

B Present by default or easily installable on your system.
N A npm package
P A pip package
R A ruby gem


Instructions

git clone https://github.com/KabbAmine/myVimFiles ~/.vim
mkdir -pv ~/.vim/misc/templates ~/.vim/misc/view ~/.vim/misc/swap_dir ~/.vim/misc/undodir

# Link the font if you don't have it already
ln -s "~/.vim/misc/fonts/Fura Mono Medium Nerd Font Complete Mono Windows Compatible.otf" ~/.fonts/

# Not mandatory
ln -s ~/.vim/vimrc ~/.vimrc

# Then upgrade vim-plug & install the plugins (Note that before installing
# plugins, some errors will be shown)
vim +PlugUpgrade +PlugUpdate +qall

Have fun :smile:

Notes

This configuration is not a ready-to-use vim distribution, it contains a lot of settings that may no suit everyone, so take a look, test and take what you want :beer:.