Vim Bootstrap is generator provides a simple method of generating a .vimrc configuration for vim, NeoVim, NeoVim-Qt, MacVim and GVim.
The distribution is designed to work with Vim >= 7.4.
$ brew install git ctags
- Ubuntu\Debian
 
$ sudo apt-get install git exuberant-ctags ncurses-term curl
- Gentoo
 
$ sudo emerge --ask dev-util/ctags sys-libs/ncurses dev-vcs/git dev-python/pyflakes net-misc/curl
- Arch Linux via pacman
 
$ sudo pacman -S git ctags ncurses curl
- Fedora
 
$ sudo dnf install ncurses-devel git ctags-etags curl
- openSUSE
 
$ sudo zypper in ncurses-devel git ctags curl
- pyflakes
 - jedi
 - neovim (neovim only)
 
$ pip install flake8 jedi
$ pip2 install --user --upgrade neovim
$ pip3 install --user --upgrade neovim
- elm-test
 - elm-oracle
 - elm-format
 
$ npm install -g elm-test
$ npm install -g elm-oracle
$ npm install -g elm-format@exp
- Download your own vimrc file at http://www.vim-bootstrap.com
 - Put your vimrc file into home folder or 
$XDG_CONFIG_HOME/nvim/init.vimif you use NeoVim 
vim: mv ~/Downloads/generate.vim ~/.vimrc
neovim: mv ~/Downloads/generate.vim $XDG_CONFIG_HOME/nvim/init.vim
- Execute ViM and it will install plugins automatically
 
vim +PlugInstall +qall
Vim-bootstrap generator can accept URL params via request as example below.
curl 'http://vim-bootstrap.com/generate.vim' --data 'langs=javascript&langs=php&langs=html&langs=ruby&editor=vim' > ~/.vimrc
:VimBootstrapUpdate (thanks to @sherzberg)
:PlugInstall
You can run vim-bootstrap Go package to generate a vimrc file, just download it:
go get github.com/avelino/vim-bootstrap
cd $GOPATH/src/github.com/avelino/vim-bootstrap
git submodule init
git submodule update
go build
Inside vim-bootrap folder cd vim-bootstrap use vim-bootstrap module (file) like this example:
./vim-bootstrap -langs=python,lua,ruby,javascript,haskell -editor=vim > ~/.vimrc
For more instructions run vim-bootstrap -h
vim-bootstrap is also available on openSUSE on both Leap 42.2/42.3 and Tumbleweed. Leap versions must add devel:tools repository before, while Tumbleweed users should have vim-bootstrap in the default repository without the need to add any extra repository.
- Leap 42.2
 
$ sudo zypper ar -f http://download.opensuse.org/repositories/devel:/tools/openSUSE_Leap_42.2/ devel:tools
$ sudo zypper ref
$ sudo zypper in vim-bootstrap
- Leap 42.3
 
$ sudo zypper ar -f http://download.opensuse.org/repositories/devel:/tools/openSUSE_Leap_42.3/ devel:tools
$ sudo zypper ref
$ sudo zypper in vim-bootstrap
- Tumbleweed
 
$ sudo zypper ref
$ sudo zypper in vim-bootstrap
It's highly recommended to add customizations in a separate file. This way, you can maintain the original vim-bootstrap generated vimrc file and subsequent updates.
For Vim users, the files available for customization are ~/.vimrc.local and ~/.vimrc.local.bundles. The former handles general configuration while the latter handle external Vim plugins through vim-plug.
NeoVim users can also customize their configuration by using $XDG_CONFIG_HOME/nvim/local_init.vim and $XDG_CONFIG_HOME/nvim/local_bundles.vim.
▪️ Basic Commands
| Commands | Descriptions | 
|---|---|
:cd <path> | 
Open path /path | 
| Ctrlw+hjkl | Navigate via split panels | 
| Ctrlww | Alternative navigate vim split panels | 
| ,. | Set path working directory | 
| ,w or ,x | Next buffer navigate | 
| ,q or ,z | previous buffer navigate | 
| shiftt | Create a tab | 
| tab | next tab navigate | 
| shifttab | previous tab navigate | 
| ,e | Find and open files | 
| ,b | Find file on buffer (open file) | 
| ,c | Close active buffer (clone file) | 
| F2 | Open tree navigate in actual opened file | 
| F3 | Open/Close tree navigate files | 
| F4 | List all class and method, support for python, go, lua, ruby and php | 
| ,v | Split vertical | 
| ,h | Split horizontal | 
| ,f | Search in the project | 
| ,o | Open github file/line (website), if used git in github | 
| ,sh | Open shell.vim terminal inside Vim or NeoVim built-in terminal | 
| ,ga | Execute git add on current file | 
| ,gc | git commit (splits window to write commit message) | 
| ,gsh | git push | 
| ,gll | git pull | 
| ,gs | git status | 
| ,gb | git blame | 
| ,gd | git diff | 
| ,gr | git remove | 
| ,so | Open Session | 
| ,ss | Save Session | 
| ,sd | Delete Session | 
| ,sc | Close Session | 
| > | indent to right | 
| < | indent to left | 
| gc | Comment or uncomment lines that {motion} moves over | 
| YY | Copy to clipboard | 
| ,p | Paste | 
| Ctrly + , | Activate Emmet plugin | 
| Ctrlr | Does a fuzzy search in your command mode history | 
▪️ Python hotkeys
| Commands | Descriptions | 
|---|---|
SHIFT+k | 
Open documentation | 
Control+Space | 
Autocomplete | 
,d | 
Go to the Class/Method definition | 
,r | 
Rename object definition | 
,n | 
Show where command is usage | 
▪️ Ruby hotkeys
| Commands | Descriptions | 
|---|---|
,a | 
Run all specs | 
,l | 
Run last spec | 
,t | 
Run current spec | 
,rap | 
Add Parameter | 
,rcpc | 
Inline Temp | 
,rel | 
Convert Post Conditional | 
,rec | 
Extract Constant (visual selection) | 
,rec | 
Extract to Let (Rspec) | 
,relv | 
Extract Local Variable (visual selection) | 
,rrlv | 
Rename Local Variable (visual selection/variable under the cursor) | 
,rriv | 
Rename Instance Variable (visual selection) | 
,rem | 
Extract Method (visual selection) | 
Visit the following sites to learn more about Vim: