We are still actively working on the spam issue.
Vim
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
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
- 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
- EasyMotion - Spatial navigation, saves a lot of keystrokes.
- targets.vim - adds extra motions to text objects
- Sneak - maps the s command (and optionally t/T/f/F) to search line-wise (minimalistic alternative to easymotion)
- CtrlP - Fuzzy file, buffer, mru, tag, etc finder.
- NERDTree - Tree explorer plugin.
- VimFiler - similar to built-in netrw but with improvements and fixes
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.
- Neocomplete - code completion engine with caching
- 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.
- vim-unimpaired - Miscellaneous mappings for simple tasks
- 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