# VIM This repo contains my vim configuration, hope it will be useful for you. ## Installation You will need `vim` and `git` to be able to use this configuration. Normally if you run the `install.sh` script it will work, but if you have a problem, try to install vim plug and check if your problem is solved. ```bash curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim ``` Oh and remove neovim, it make some problems with vim. ## Plugins This config has just the necessary plugins installed: - [OneDark](https://github.com/joshdick/onedark.vim) onedark theme. - [Vim Airline](https://github.com/vim-airline/vim-airline) Vim statusline. - [NerdTree](https://github.com/preservim/nerdtree) to have a file tree in vim. - [Vim devicons](https://github.com/ryanoasis/vim-devicons) language icons for vim. - [Vim nerdtree syntax highlighting](https://github.com/tiagofumo/vim-nerdtree-syntax-highlight) nerdtree syntax highlighting - [Vim gitgutter](https://github.com/airblade/vim-gitgutter) to see diff between files with git. - [ALE](https://github.com/dense-analysis/ale) vim linter, autocompleter, a Swiss knife for all the LSP things. - [Asyncomplete](https://github.com/prabirshrestha/asyncomplete.vim) async autocompletion - [Asyncomplete ALE](https://github.com/andreypopp/asyncomplete-ale.vim) LSP server for asyncomplete & ALE ## Command & keybinds ### General - `hl` remove highlighting #### Window - `Ctrl+h` move to the left window - `Ctrl+j` move to the bottom window - `Ctrl+k` move to the upper window - `Ctrl+l` move to the right window #### Buffer - `bd` close the current buffer - `ba` close all the buffers - `l` go to the next buffer - `h` go to the precedent buffer #### Tabs - `tn` open a new tab - `to` close all other tabs - `tc` close current tab page - `tm` move the tab after another - `t` go to the next tab - `tl` toggle between this tab and the last accessed tab - `te` open a new tab with the current buffer #### Spell check - `ss` toggle / untoggle spellchecking - `sn` go to the next word to spellcheck - `sp` go to the previous word to spellcheck - `sa` add a word into the dictionary - `s?` show the list of alternatives for the word More help at `:help spell` ### NerdTree For help, use `:help NERDTree`. Keybinds: - `Ctrl+f` open or close the nerdtree window ### Vim Gutter For help, use `:help gitgutter`. Keybinds: - `[c` & `]c` to jump between hunks, - `hp` to preview hunk, - `hs` to stage hunk, - `hu` to undo hunk, - `d` to toggle GitGutter. Hunks are the difference between your file and the git file. ## Linters & fixers ### Python For using python linters & fixers, you will need to setup a virtual env & install the linters & fixers. ```bash python -m venv .venv source .venv/bin/activate pip install flake8 pylint pydocstyle bandit mypy black isort ```