Code Monkey home page Code Monkey logo

vim-bootstrap's Introduction

vim-bootstrap

Join the chat at https://gitter.im/avelino/vim-bootstrap

Vim Bootstrap is generator provides a simple method of generating a .vimrc configuration for vim, NeoVim, MacVim and GVim.

Pre-requisites

The distribution is designed to work with Vim >= 7.4.

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 (recomend used pacaur)
$ sudo pacman -S git-core ctags ncurses curl
  • Fedora
$ sudo dnf install ncurses-devel git ctags-etags 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

Installation

  • Download your own vimrc file at http://www.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 +PlugInstall +qall

Fast-installation by URL parameters

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

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/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

Commands

▪️ 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
▪️ 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)

Learn Vim

Visit the following sites to learn more about Vim:

vim-bootstrap's People

Contributors

avelino avatar lerrua avatar cassiobotaro avatar adimircolen avatar di3goleite avatar hersonls avatar ivancrneto avatar ellisonleao avatar nemith avatar itchyny avatar drgarcia1986 avatar hmleal avatar magnunleno avatar camponez avatar phinfonet avatar stooj avatar adamkal avatar alemedeiros avatar knabben avatar awiddersheim avatar agutoli avatar dilannery avatar cuducos avatar actionless avatar sfrique avatar heliomeiralins avatar jeanmask avatar johndeng avatar netojoaobatista avatar notyal avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.