We are still actively working on the spam issue.

Difference between revisions of "Vim"

From InstallGentoo Wiki
Jump to: navigation, search
m (logo)
m (fucked it up.)
Line 1: Line 1:
[[File:Vim.png|thumb|Vim logo]]
+
[[File:Vim.png|thumb|Vim logo.]]
 
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.
 
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.
  

Revision as of 11:34, 9 February 2014

Error creating thumbnail: File with dimensions greater than 12.5 MP
Vim logo.

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.

Vim Cheat Sheet for programmers

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

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

Buffer Navigation

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

File Navigation

NERDTree - Tree explorer plugin.

CtrlP - Fuzzy file, buffer, mru, tag, etc finder.

Task Automation

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

SudoEdit - Edit files using sudo or su or any other tool.

Multiple Cursors - Sublime Text style multiple selections

Ricing

LightLine - Light and configurable statusline/tabline

Vivify - Color scheme editor for Vim

External Links

The Vim Learning Curve is a Myth

Learn Vim Progressively

Learn to speak vim – verbs, nouns, and modifiers!

Vim tips and tricks - StackOverflow

Write code faster: expert-level Vim (Railsberry 2012) - YouTube