Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/editor-bootstrap/vim-bootstrap
Vim Bootstrap is a generator that provides a simple method of generating a configuration for vim / neovim.
https://github.com/editor-bootstrap/vim-bootstrap
bootstrap dotfiles editor-bootstrap hackertoberfest hacktoberfest neovim nvim starter-template vim vim-bootstrap vim-configuration vimrc vimrc-configuration
Last synced: 24 days ago
JSON representation
Vim Bootstrap is a generator that provides a simple method of generating a configuration for vim / neovim.
- Host: GitHub
- URL: https://github.com/editor-bootstrap/vim-bootstrap
- Owner: editor-bootstrap
- License: mit
- Created: 2014-05-27T02:19:52.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2023-12-04T20:01:53.000Z (11 months ago)
- Last Synced: 2024-05-21T16:17:51.982Z (6 months ago)
- Topics: bootstrap, dotfiles, editor-bootstrap, hackertoberfest, hacktoberfest, neovim, nvim, starter-template, vim, vim-bootstrap, vim-configuration, vimrc, vimrc-configuration
- Language: CSS
- Homepage: https://vim-bootstrap.com/
- Size: 6.19 MB
- Stars: 2,064
- Watchers: 57
- Forks: 210
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-made-by-brazilians - vim-bootstrap
README
# vim-bootstrap
Vim Bootstrap provides a simple method for generating .vimrc configuration files for Vim, NeoVim, NeoVim-Qt, MacVim and GVim.
Want to generate your vim/neovim file? Access [here](https://vim-bootstrap.com/)!
## Pre-requisites
The distribution is designed to work with Vim >= 8 and neovim.
### Mac OSX
```
$ brew install git ctags
```### Linux
* 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 curl
```* openSUSE
```
$ sudo zypper in ncurses-devel git ctags curl
```### BSD
* FreeBSD via *packages collection*
```
# pkg install git p5-Parse-ExuberantCTags ncurses curl
```### Python bundle (optionally)
* pyflakes
* jedi
* neovim (neovim only)```
$ pip install flake8 jedi
$ pip2 install --user --upgrade neovim
$ pip3 install --user --upgrade neovim
```### Elm bundle (optionally)
* elm-test
* elm-oracle
* elm-format```
$ npm install -g elm-test
$ npm install -g elm-oracle
$ npm install -g elm-format@exp
```### Rust
* [rls](https://github.com/rust-lang/rls#setup)
```
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```## Installation
* Download your own vimrc file at https://vim-bootstrap.com
* Put your vimrc file into home folder or `$XDG_CONFIG_HOME/nvim/init.vim` if 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
```### Fast-installation by URL parameters
Vim-bootstrap generator can accept URL params via request as example below.
curl 'https://vim-bootstrap.com/generate.vim' --data 'editor=vim&frameworks=vuejs&langs=javascript&langs=php&langs=html&langs=ruby' > ~/.vimrc
### Updating to the latest version
:VimBootstrapUpdate (thanks to @sherzberg)
:PlugInstall### Offline usage
You can run vim-bootstrap Go package to generate a vimrc file, just download it:
go get github.com/editor-bootstrap/vim-bootstrap
cd $GOPATH/src/github.com/editor-bootstrap/vim-bootstrap
go buildInside vim-bootstrap folder `cd vim-bootstrap` use `vim-bootstrap` module (file) like this example:
./vim-bootstrap -langs=python,lua,ruby,javascript,haskell -frameworks vuejs -editor=vim > ~/.vimrc
For more instructions run `vim-bootstrap -h`
### openSUSE repo
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
```## Adding a new Theme
Create a folder inside `generate/vim_template/themes/` with the name of your theme.
mkdir generate/vim_template/themes/my_theme
Inside this folder, add a file called `mytheme.vim` with colorscheme instruction (optionally other configs).
echo "colorscheme mytheme" > generate/vim_template/themes/my_theme/mytheme.vim
Add a `.bundle` extension file with instructions of how to install theme.
echo "Plug username/mytheme" > generate/vim_template/themes/my_theme/mytheme.vim.bundle
Submit a PR and when approved new theme was added.
## Customization
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 handles 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`.
## Commands
:black_small_square: Basic Commands
Commands | Descriptions
--- | ---
`:cd ` | 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 (close 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
Ctrlh | Does a fuzzy search in your command mode history:black_small_square: 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:black_small_square: 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):black_small_square: Php hotkeys
Commands | Descriptions
-------- | -------
`,u` | Include use statement
`,mm` | Invoke the context menu
`,nn` | Invoke the navigation menu
`,oo` | Goto definition
`,oh` | Goto definition on horizontal split
`,ov` | Goto definition on vertical split
`,ot` | Goto definition on tab
`,K` | Show brief information about the symbol under the cursor
`,tt` | Transform the classes in the current file
`,cc` | Generate a new class (replacing the current file)
`,ee` | Extract expression (normal mode)
`,ee` | Extract expression (visual selection)
`,em` | Extract method (visual selection)
`,pcd` | cs-fixer fix directory
`,pcf` | cs-fixer fix file## Learn Vim
Visit the following sites to learn more about Vim:
* [Learn Vim Progressively](https://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/)
* [Vim Adventures](https://vim-adventures.com/)
* [Vimcasts](http://vimcasts.org)
* [Byte of Vim](https://vim.swaroopch.com/)
* [MinuteVim Tricks](https://www.youtube.com/user/MinuteVimTricks)
* [Join the Church of Vim, and you too can be a saint!](https://www.avelino.run/church-vim)
* [Vim para noobs (in portuguese)](https://woliveiras.com.br/vimparanoobs/)
* [Vimbook (in portuguese)](https://cassiobotaro.gitbooks.io/vimbook/content/)