- Introduction
- Features
- Requirements
- Installation
- Included Plugins
- Keymaps
- Options
- FAQ
- Contact
- License
Building vim editor in Linux into an effective C/C++ programming IDE, supporting YouCompleteMe as a code-completion engine.
- Automatic download the latest version of libclang and compile the ycm_core library that YCM needs
- One-step install
- Supported all GNU/Linux
- On-demand loading for faster startup time
- Semantic auto-completion
- Syntax checking
- Syntax highlighting for C++11/14
- Preservation of historical records
- Instantly preview markdown files
- More
- vim
7.4.143
withPython 2
orPython 3
support npm -g install instant-markdown-d
For plugin vim-instant-markdownxdg-utils
For plugin vim-instant-markdownnodejs-legacy
For Debian-based systemswmctrl
Fullscreen needscmake
Compile the ycm_core libraryctags
For plugin tarbarclang-format
For plugin vim-clang-format
curl -o - https://raw.githubusercontent.com/lbin/vimrc/master/install-vim-plugins | sh
I think you should read the docs of these plugins and .vimrc to use them efficiently.
- vim-plug: Minimalist Vim Plugin Manager
- vim-easy-align: A Vim alignment plugin
- vim-colors-solarized: precision colorscheme for the vim text editor
- vim-tomorrow-theme: Tomorrow Theme for Vim
- ultisnips: The ultimate snippet solution for Vim
- vim-multiple-cursors: True Sublime Text style multiple selections for Vim
- vim-move: Plugin to move lines and selections up and down
- YankRing.vim: Maintains a history of previous yanks, changes and deletes
- auto-pairs: Vim plugin, insert or delete brackets, parens, quotes in pair
- vim-operator-user: Vim plugin: Define your own operator easily
- vim-clang-format: Vim plugin for clang-format, a formatter for C, C++, Obj-C, Java, JavaScript and TypeScript
- wildfire.vim: Smart selection of the closest text object
- vim-indent-guides: A Vim plugin for visually displaying indent levels in code
- vim-fswitch: Vim plug for switching between companion source files (e.g. ".h" and ".cpp")
- vim-protodef: Vim plugin for pulling in C++ function prototypes into implementation files
- nerdcommenter: Vim plugin for intensely orgasmic commenting
- nerdtree: A tree explorer plugin for vim
- powerline: Powerline is a statusline plugin for vim
- tagbar: Vim plugin that displays tags in a window, ordered by scope
- vim-polyglot: A solid language pack for Vim
- syntastic: Syntax checking hacks for vim
- minibufexpl.vim: Elegant buffer explorer - takes very little screen space
- gundo.vim: Gundo.vim is Vim plugin to visualize your Vim undo tree
- ctrlsf.vim: An ack.vim alternative mimics Ctrl-Shift-F on Sublime Text 2
- ctrlp.vim: Fuzzy file, buffer, mru, tag, etc finder
- vim-instant-markdown: Instant Markdown previews from VIm
- YouCompleteMe: A code-completion engine for Vim
The <leader>
key is ;
;w
Write (save) the file, but don't exit;q
Quit;Q
Quit and throw away changes;p
Paste;hw
Jump to the left window;jw
Jump to the down window;kw
Jump to the up window;lw
Jump to the right window<tab>
Jump to the next window<S-tab>
Jump to the previous window]q
Jump to next record/match in quickfix list[q
Jump to previous record/match in quickfix list<F8>
Change color scheme<F11>
Fullscreen
<C-s>
Write (save) the file, but don't exit<C-h>
Move left<C-j>
Move down<C-k>
Move up<C-l>
move right<F8>
Change color scheme<F11>
Fullscreen
;y
Copy
;fs
Switch between companion source files (e.g. ".h" and ".cpp")]b
Jump to the next buffer[b
Jump to the previous buffer;ud
Toggle Gundo visible<C-f>
Search and split a new window to show search result<C-p>
Open ctrlp window (alternative :CtrlP);md
Launch the preview window for current markdown file;jc
Go to declaration;jd
Go to definition<F2>
Toogle Tagbar visible<F3>
Toogle NERD-Tree visible<F4>
Toogle minibufexpl visble<F9>
Show history of previous yanks, changes and deletes<F12>
Format your C family code
<F2>
Toogle Tagbar visible<F3>
Toogle NERD-Tree visible<F4>
Toogle minibufexpl visble<F9>
Show history of previous yanks, changes and deletes<F12>
Format your C family code
<C-k>
Move current line/selections up<C-j>
Move current line/selections down
-
Install all the following libraries
-
Ubuntu
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \ libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \ libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \ python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev git
-
openSUSE
zypper in ruby-devel python-devel python3-devel perl-devel \ lua-devel ncurses-devel libX11-devel gtk2-devel xorg-x11-devel
-
-
Remove vim if you have it already
-
Building Vim from source
-
Add/remove the flags above to fit your setup. For example, you can leave out enable-luainterp if you don't plan on writing any Lua.
cd ~ git clone https://github.com/vim/vim.git cd vim ./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp \ --enable-pythoninterp \ --with-python-config-dir=/usr/lib/python2.7/config \ --enable-perlinterp \ --enable-luainterp \ --enable-gui=gtk2 --enable-cscope --prefix=/usr make sudo make install
-
Type the following in Vim:
:echo has('python')
. If the output is 1, then the version of Vim with Python support. If it's 0, then get a version of Vim with Python support.
-
Add the following line to your .vimrc.
Plug 'klen/python-mode', { 'for': 'python' }
Install Plugin vim +PlugInstall +qall
Add the following line to your .vimrc.
Plug 'fatih/vim-go', { 'for': 'go' }
Install Plugin vim +PlugInstall +qall
This wiki Building-Vim-from-source may be helpful for you.
If you have feature suggestions, please open issues or pull requests.
MIT