We are still actively working on the spam issue.
Difference between revisions of "Vim"
JDM0wWHDld8 (talk | contribs) m (convert plugin list to bullet points) |
JDM0wWHDld8 (talk | contribs) (more plugins added) |
||
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/justinmk/vim-sneak Sneak] - maps the s command to find occurrences of the next two chars, and optionally t/T/f/F to work line-wise |
+ | * [https://github.com/Lokaltog/vim-easymotion EasyMotion] - Spatial navigation, saves a lot of keystrokes. (though frowned on as very anti-Vim to some) | ||
* [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/kien/ctrlp.vim CtrlP] - Fuzzy file, buffer, mru, tag, etc finder. | ||
− | * [https://github.com/ | + | * [https://github.com/haya14busa/incsearch.vim Incsearch.vim] - futher expands the power of incremental-search in vim |
=== File Navigation === | === File Navigation === | ||
+ | * [https://github.com/kien/ctrlp.vim CtrlP] - Fuzzy file, buffer, mru, tag, etc finder. | ||
+ | * [https://github.com/Shougo/vimfiler VimFiler] - similar to built-in netrw but with improvements and fixes | ||
* [https://github.com/scrooloose/nerdtree NERDTree] - Tree explorer plugin. | * [https://github.com/scrooloose/nerdtree NERDTree] - Tree explorer plugin. | ||
− | |||
=== Task Automation === | === Task Automation === | ||
Line 50: | Line 52: | ||
* [https://github.com/scrooloose/nerdcommenter NERDCommenter] - Manipulates code comments according to the file type. | * [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. | * [https://github.com/othree/vim-autocomplpop AutoComplPop] - Basic pop-up keyword-based completion. | ||
+ | * [https://github.com/mattn/emmet-vim Emmet] - Powerful text-expansion for HTML/XML markup | ||
+ | * [https://github.com/tpope/vim-repeat Vim-repeat] - expands the .(repeat) power of the command | ||
=== Code Insertion/Completion === | === Code Insertion/Completion === | ||
Line 56: | Line 60: | ||
* [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. | * [https://github.com/Valloric/YouCompleteMe YouCompleteMe] - Advanced semantic code completion engine. | ||
+ | * [https://github.com/Shougo/neocomplete.vim NeoComplete] - code completion with caching | ||
* [http://eclim.org/ Eclim] - Code completion making use of Eclipse's engine. | * [http://eclim.org/ Eclim] - Code completion making use of Eclipse's engine. | ||
Line 63: | Line 68: | ||
* [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 | ||
+ | * [https://github.com/koron/minimap-vim Minimap] - Minimap implementation similar to the one found in Sublime Text | ||
=== Ricing === | === Ricing === |
Revision as of 06: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
- Sneak - maps the s command to find occurrences of the next two chars, and optionally t/T/f/F to work line-wise
- EasyMotion - Spatial navigation, saves a lot of keystrokes. (though frowned on as very anti-Vim to some)
- Tagbar - Tag navigation, requires a ctags package.
- CtrlP - Fuzzy file, buffer, mru, tag, etc finder.
- Incsearch.vim - futher expands the power of incremental-search in vim
- CtrlP - Fuzzy file, buffer, mru, tag, etc finder.
- VimFiler - similar to built-in netrw but with improvements and fixes
- NERDTree - Tree explorer plugin.
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.
- Emmet - Powerful text-expansion for HTML/XML markup
- Vim-repeat - expands the .(repeat) power of the command
Code Insertion/Completion
- UltiSnips - Customizable snippet engine for boilerplate code time-saving.
- Syntastic - Syntax checking.
- YouCompleteMe - Advanced semantic code completion engine.
- NeoComplete - code completion with caching
- 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
- Minimap - Minimap implementation similar to the one found in Sublime Text
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