We are still actively working on the spam issue.
Difference between revisions of "Vim"
JDM0wWHDld8 (talk | contribs) m (convert plugin list to bullet points) |
|||
Line 33: | Line 33: | ||
=== Buffer Navigation === | === Buffer Navigation === | ||
− | [https://github.com/Lokaltog/vim-easymotion EasyMotion] - Spatial navigation, saves a lot of keystrokes. | + | * [https://github.com/Lokaltog/vim-easymotion EasyMotion] - Spatial navigation, saves a lot of keystrokes. |
− | + | * [https://github.com/majutsushi/tagbar Tagbar] - Tag navigation, requires a '''ctags''' package. | |
− | [https://github.com/majutsushi/tagbar Tagbar] - Tag navigation, requires a '''ctags''' package. | + | * [https://github.com/kien/ctrlp.vim CtrlP] - Fuzzy file, buffer, mru, tag, etc finder. |
− | + | * [https://github.com/koron/minimap-vim Minimap] - Minimap implementation similar to the one found in Sublime Text | |
− | [https://github.com/kien/ctrlp.vim CtrlP] - Fuzzy file, buffer, mru, tag, etc finder. | ||
− | |||
− | [https://github.com/koron/minimap-vim Minimap] - Minimap implementation similar to the one found in Sublime Text | ||
=== File Navigation === | === File Navigation === | ||
− | [https://github.com/scrooloose/nerdtree NERDTree] - Tree explorer plugin. | + | * [https://github.com/scrooloose/nerdtree NERDTree] - Tree explorer plugin. |
− | + | * [https://github.com/kien/ctrlp.vim CtrlP] - Fuzzy file, buffer, mru, tag, etc finder. | |
− | [https://github.com/kien/ctrlp.vim CtrlP] - Fuzzy file, buffer, mru, tag, etc finder. | ||
=== Task Automation === | === Task Automation === | ||
− | [https://github.com/junegunn/vim-easy-align EasyAlign] - Tool for aligning multiple lines of text in columns. | + | * [https://github.com/junegunn/vim-easy-align EasyAlign] - Tool for aligning multiple lines of text in columns. |
− | + | * [https://github.com/Raimondi/delimitMate DelimitMate] - Auto-completes surroundings and provides bindings for navigating through them. | |
− | [https://github.com/Raimondi/delimitMate DelimitMate] - Auto-completes surroundings and provides bindings for navigating through them. | + | * [https://github.com/tpope/vim-surround Vim-Surround] - Manipulates (insert, change, delete) pairs of surroundings. |
− | + | * [https://github.com/scrooloose/nerdcommenter NERDCommenter] - Manipulates code comments according to the file type. | |
− | [https://github.com/tpope/vim-surround Vim-Surround] - Manipulates (insert, change, delete) pairs of surroundings. | + | * [https://github.com/othree/vim-autocomplpop AutoComplPop] - Basic pop-up keyword-based completion. |
− | |||
− | [https://github.com/scrooloose/nerdcommenter NERDCommenter] - Manipulates code comments according to the file type. | ||
− | |||
− | [https://github.com/othree/vim-autocomplpop AutoComplPop] - Basic pop-up keyword-based completion. | ||
=== Code Insertion/Completion === | === Code Insertion/Completion === | ||
− | [https://github.com/SirVer/ultisnips UltiSnips] - Customizable snippet engine for boilerplate code time-saving. | + | * [https://github.com/SirVer/ultisnips UltiSnips] - Customizable snippet engine for boilerplate code time-saving. |
− | + | * [https://github.com/scrooloose/syntastic Syntastic] - Syntax checking. | |
− | [https://github.com/scrooloose/syntastic Syntastic] - Syntax checking. | + | * [https://github.com/Valloric/YouCompleteMe YouCompleteMe] - Advanced semantic code completion engine. |
− | + | * [http://eclim.org/ Eclim] - Code completion making use of Eclipse's engine. | |
− | [https://github.com/Valloric/YouCompleteMe YouCompleteMe] - Advanced semantic code completion engine. | ||
− | |||
− | [http://eclim.org/ Eclim] - Code completion making use of Eclipse's engine. | ||
=== Miscellaneous === | === Miscellaneous === | ||
− | [https://github.com/tpope/vim-sensible Vim-Sensible] - Provides a number of common and sane configurations. | + | * [https://github.com/tpope/vim-sensible Vim-Sensible] - Provides a number of common and sane configurations. |
− | + | * [https://github.com/chrisbra/SudoEdit.vim SudoEdit] - Edit files using sudo or su or any other tool. | |
− | [https://github.com/chrisbra/SudoEdit.vim SudoEdit] - Edit files using sudo or su or any other tool. | + | * [https://github.com/terryma/vim-multiple-cursors Multiple Cursors] - Sublime Text style multiple selections |
− | |||
− | [https://github.com/terryma/vim-multiple-cursors Multiple Cursors] - Sublime Text style multiple selections | ||
=== Ricing === | === Ricing === | ||
− | [https://github.com/bling/vim-airline AirLine] - Status line with many out-of-the-box features and integration with other plugins. | + | * [https://github.com/bling/vim-airline AirLine] - Status line with many out-of-the-box features and integration with other plugins. |
− | + | * [https://github.com/itchyny/lightline.vim LightLine] - Status line with emphasis on minimalism and customizability. | |
− | [https://github.com/itchyny/lightline.vim LightLine] - Status line with emphasis on minimalism and customizability. | + | * [http://bytefluent.com/vivify/ Vivify] - Color scheme editor for Vim |
− | |||
− | [http://bytefluent.com/vivify/ Vivify] - Color scheme editor for Vim | ||
== External Links == | == External Links == |
Revision as of 03:49, 9 January 2015
Vim (Vi IMproved) is a text editor based on the standard UNIX editor Vi. Its main feature is modal editing, which minimizes the amount of keystrokes needed for performing tasks, thus greatly reducing strain.
Contents
[hide]Learning Vim
General Advice
- If you're interested in learning Vim, it is likely for the purpose of programming or markup. In this case, it is recommended to look up online exercises of a language you're familiar with, and write them with Vim.
- It may be tempting to use the arrow, delete, backspace, home, pageup, pagedown, and end keys, but do not.
- When performing a task, always think about how to minimize the amount of keystrokes for it. Research online.
- Keep a cheat sheet, write down new commands you want to learn, keep only several or so commands at a time until you've learned them.
For Beginners
- http://vim-adventures.com/
- Type vimtutor in a terminal to get started
- If you're partial to books, try Practical Vim
- :h
- The collection of Daily vim tips from the /vim/-generals on /g/
Configuration
All configuration is kept in the ~/.vimrc
file, ~
being your home directory. It is advisable to look up existing online vimrc
's but do not just copy them. In Vim, :h
each entry, read the description and decide for yourself if you want them.
Well documented base to start out with: https://github.com/timss/vimconf
Plugins
- EasyMotion - Spatial navigation, saves a lot of keystrokes.
- Tagbar - Tag navigation, requires a ctags package.
- CtrlP - Fuzzy file, buffer, mru, tag, etc finder.
- Minimap - Minimap implementation similar to the one found in Sublime Text
Task Automation
- EasyAlign - Tool for aligning multiple lines of text in columns.
- DelimitMate - Auto-completes surroundings and provides bindings for navigating through them.
- Vim-Surround - Manipulates (insert, change, delete) pairs of surroundings.
- NERDCommenter - Manipulates code comments according to the file type.
- AutoComplPop - Basic pop-up keyword-based completion.
Code Insertion/Completion
- UltiSnips - Customizable snippet engine for boilerplate code time-saving.
- Syntastic - Syntax checking.
- YouCompleteMe - Advanced semantic code completion engine.
- Eclim - Code completion making use of Eclipse's engine.
Miscellaneous
- Vim-Sensible - Provides a number of common and sane configurations.
- SudoEdit - Edit files using sudo or su or any other tool.
- Multiple Cursors - Sublime Text style multiple selections
Ricing
- AirLine - Status line with many out-of-the-box features and integration with other plugins.
- LightLine - Status line with emphasis on minimalism and customizability.
- Vivify - Color scheme editor for Vim