Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
Freenet DSL
Who's Online
10 user(s) are online (6 user(s) are browsing encyclopedia)

Members: 0
Guests: 10

more...
browser tip
recommendation!
Sponsored
partner

Vim (text editor)

Vim, which stands for Vi IMproved, is an Open source software, multi-platform text editor.

Vim was first released by Bram Moolenaar in 1991. Since then Vim has added myriad features; many are helpful in editing program source code. Vim remains popular with programmers and users of Unix-like operating systems.

=Modal editing=

As a descendant of vi , Vim is modal - an unusual feature which tends to confuse new users. All editors are modal in the general sense of having to distinguish insert and command inputs, but most others implement that modality through very different methods: command menus (mouse or keyboard driven), meta keys (simultanous use of multiple keys, usually involving control (CTRL) or ALT), and/or general mouse usage. Vim, following vi, is unique in that you switch the entire keyboard into and out of these modes. By default this is done with the escape (ESC) key. This allows you, but does not require you, to perform all editing functions with no use of the mouse or menus and minimal use of meta keys. For touch-typists and those averse to the mouse, this can be a great benefit in power and efficiency.

Vim has six basic modes and five variants of the basic modes:

==Normal==

:In normal mode you can enter all the editor commands such as cursor movement text deletion, etc. Vim starts in this mode by default. This is something many new users expect text editors to never do.

===Operator-pending===

::In this sub-mode of normal mode an operator command has been started and Vim is waiting for a motion to complete it.

===Insert Normal===

::This mode is entered when control-o is pressed in insert mode. It behaves like normal mode but only lets you execute one command before Vim returns to insert mode.

==Visual==

:This behaves much like normal mode, but the movement commands extend highlighted text. When a non-movement command is used it is performed on the highlighted area.

===Insert Visual===

::This is entered from insert normal mode by pressing control-o then starting a visual selection. After the visual selection ends Vim returns to insert mode.

==Select==

:This somewhat like MS-WIndows selection mode -- you can highlight text with the mouse and the cursor keys, but typing a character causes the highlighted area to be deleted and Vim enters insert mode with the character you typed inserted.

===Insert Select===

::This mode is usually entered by dragging the mouse or using a shifted arrow key in insert mode. After the selection ends Vim returns to insert mode.

==Insert==

:In this mode most keys on the keyboard insert text into the buffer. This behavior is what most new users expect text editors to always do.

===Replace===

::This is a special insert mode where you can do the same things as you would do in insert mode, but each character you type overwrites an existing character in the buffer.

==Command-line==

:In command-line mode you can enter one line which is interpreted as a command ( : key), search ( / and keys), or a filter command ( ! key).

==Ex mode==

:This is like command-line mode, but you can enter multiple commands until you leave this mode.

==Evim==

Vim has a special GUI mode that tries to behave more like a modeless editor called evim.

=Features and improvements over Vi=

Some of the main features of Vim and improvements of Vim over Vi:

  • Vim is 99% vi compatible (in compatible mode)
  • portability: there are versions for
  • Unix, Linux, BSD, Mac OS X
  • DOS, Microsoft Windows Windows 95/Windows 98/Windows ME/Windows NT/Windows 2000/Windows XP
  • Amiga
  • International Business Machines OS/2
  • Mac OS
  • RISC OS
  • International Business Machines OS/390
  • Digital Equipment Corporation Virtual Memory System
  • BeOS
  • Atari MiNT
  • unlimited multi level undo/redo
  • multiple modified buffers
  • Graphical User Interface (GUI) mode
  • split windows — both horizontal and vertical
  • syntax highlighting for hundreds of file types
  • support for Unicode
  • trans-session history of commands/searches/registers/positions ...
  • command-line editing and extensive completion
  • Integrated Development Environment-like build/review/edit features
  • session state preservation, including cursor position and history
  • configurable status line
  • insert-mode completion
  • multi-mode text folding
  • extended scripting and expressions
  • scripted plugins
  • remote file editing from ssh, ftp and http servers, among others
  • visual mode selection with character/line/block ranges
  • comprehensive integrated help system with Hypertext via ctags
  • code folding
  • Computer_mouse sensitive
  • =History=

    (Note that development releases and minor version releases after 3.0 aren t included in this list, yet.)

    =References=

  • Vim help system (type :help within vim)
  • Moolenaar, Bram (2002) [http://www.free-soft.org/FSM/english/issue01/vim.html Vim, an open-source text editor ] (history), Retrieved Oct. 24, 2005.
  • =See also=

    *List of text editors *Comparison of text editors

  • =External links=

  • [http://www.vim.org/ Vim home page]
  • [http://iccf-holland.org/ ICCF Holland] - The charity that Vim supports.
  • [http://www.vim.org/faq/ Vim FAQ]
  • [http://www.VI-Improved.org/ Vi-Improved.org] (#Vim on FreeNode)
  • [http://vimdoc.sourceforge.net/htmldoc/usr_toc.html Manual]
  • [http://www.softpanorama.org/Editors/vim.shtml Western Orthodox Editors Page] Softpanorama page about vi that considers vi and its derivatives (vim) to be a special class of editors, an orthodox editors.
  • [http://cream.sourceforge.net Cream] - A free (GPL), easy-to-use configuration of the powerful Vim text editor for Windows and GNU/Linux.
  • [http://groups.google.com/groupshl=en&lr=&ie=UTF-8&group=comp.editors comp.editors: Vim (Dominated) Newsgroup]
  • [http://www.linux.ie/articles/tutorials/vi3.php Syntax highlighting in ViM, mappings and the vimrc file]
  • [http://www.linux.ie/articles/tutorials/vi4.php ViM: Variable/Word completion, indenting, macros and function navigation]
  • [http://en.tldp.org/HOWTO/C-editing-with-VIM-HOWTO/index.html C editing with VIM HOWTO]
  • [http://simpletutorials.com/vim/index.php Simple VIM Reference Sheets (in PDF and plain text)]
  • [http://research.iiit.ac.in/~masatran/vim/ Vim Tutorial]
  • [http://www.logios.cz/~jakub/editing-remote-files-with-vim-and-scp.html Editing remote files with ViM and SCP/FTP]