There are several plugin managers for vim. They all work slightly differently, but generally allow you to specify the github repository for a plugin, and have the tools load the code into your vim configuration directory (~/.vim). Directions for a couple plugin managers are included here, so that advice on specific plugins can be given in a manager-neutral way.
To use Vundle, manually install vundle in your .vim/bundle directory:
$ mkdir -p ~/.vim/bundle $ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim |
Then add the following to your .vimrc file:
""""""""""""""""""""""""" " Vundle configuration filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " let Vundle manage Vundle (required) Plugin 'gmarik/Vundle.vim' call vundle#end() filetype plugin indent on |
Then to register a new plugin, add a Plugin directive under Plugin 'gmarik/Vundle.vim'
with the owner/repository of the github repo for the plugin. For instance to add edx-platform as a vim plugin (this won't work), you would add a line with Plugin 'edx/edx-platform'
To install or update plugins, run the command from within vim
:PluginUpdate |
Or from the command line:
$ vim +PluginUpdate +qa |
Calen Pennington (Deactivated): care to fill this out?
Add the following to your .vimrc
filetype plugin indent on |
To show invisible characters inline, add the following to your .vimrc
set listchars=tab:→ ,trail:·,nbsp:¤,precedes:«,extends:»,eol:↲ " specify which characters to use. If you don't have unicode support in your terminal, adjust these accordingly set list " turn on display of listchars set nolist " turn off display of listchars |
The list and nolist settings can be added to your .vimrc as is, or run in ex mode (escape from insert mode, and type :set list
or :set nolist
)
Use the https://github.com/ctrlpvim/ctrlp.vim plugin
# Using https://github.com/junegunn/vim-plug call plug#begin('~/.config/nvim/plugged') Plug 'ctrlpvim/ctrlp.vim' call plug#end() |
Install the following plugin using your preferred plugin manager:
Configure it to use pylint and pep8 in your .vimrc:
set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%* let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 let g:syntastic_python_checkers = ['pylint', 'pep8'] |
You can navigate to the Syntastic report split using ^ww
and then hit enter on any issue to jump to that line in the main split, or you can navigate through them from the main split using :lnext
and :lprevious
.
For more details check out the excellent in-editor documentation using :help syntastic
.
Note: Improvements to the statusline would be welcome. The one above doesn't show the usual line/column number information unless all lint errors are resolved.
Alternatively, try installing https://github.com/w0rp/ale which utilizes Vim 8's asynchronous engine.
Install the following plugin:
Configure it thusly:
call plug#begin('~/.config/nvim/plugged') Plug 'benekastah/neomake' call plug#end() " Neomake let g:neomake_python_enabled_makers = ['pylint', 'pep8'] autocmd! BufWritePost * Neomake |
Note that this only works if you run vim from within the virtualenv that has pylint and pep8 installed.
There are a few options:
Add this (or something similar) to your .vimrc:
"Insert a ipdb breakpoint below or above current line nnoremap <leader>b oimport ipdb; ipdb.set_trace() # BREAKPOINT # noqa: E702<Esc> nnoremap <leader>B Oimport ipdb; ipdb.set_trace() # BREAKPOINT # noqa: E702<Esc> |
Install https://github.com/vim-syntastic/syntastic follow README instructions, then add this to your .vimrc:
let g:syntastic_javascript_checkers=['eslint'] |
Also, install: https://github.com/mtscout6/syntastic-local-eslint.vim so that it lints based on each individual project's configuration.
You can also use https://github.com/sbdchd/neoformat to run an auto-formatter like prettier or prettier-eslint.
If you're feeling extra lazy, just clone my vim setup and run the included script: https://github.com/efischer19/personal_vim
Alternatively, try installing https://github.com/w0rp/ale which utilizes Vim 8's asynchronous engine.
Install https://github.com/tpope/vim-fugitive for performing typical git actions in vim (log, blame, (un)stage, commit, diff, browse in Github, etc.).
Install https://github.com/airblade/vim-gitgutter to get indicators in the sign column for lines that have been added, removed, or changed compared to the git HEAD.
Install https://github.com/gregsexton/gitv for a git history browser similar to gitk. Or install https://github.com/junegunn/gv.vim for a git history browser similar to tig (and faster than gitv).
Just type "/".
Use ":grep". Or, install https://github.com/mileszs/ack.vim.