VIM (TEXT EDITOR)
'Vim', which stands for 'Vi IMproved', is an open source, multiplatform text editor extended from ''vi''. It was first released by Bram Moolenaar in 1991. Since then, numerous features have been added to Vim, many of which are helpful in editing program source code. Vim and vi are very popular editors for programmers and users of Unix-like operating systems.[1]
Learning to use Vim
Vim running in a terminal emulator
For many users, Vim may present a steep learning curve, meaning that learning is slow initially but once the user gets a grasp of the basics they progress quickly and their editing becomes more efficient.[2] To facilitate this, there is the Vim tutorial for beginners, usually invoked by typing "
vimtutor" on the Unix command line or clicking on the Vim tutor icon on the Windows desktop. There is also the Vim Users' Manual that details the basic and more advanced Vim features which can be read by typing ":help user-manual" within Vim.New users should also learn how to navigate and understand the conventions of the Vim help system by reading the main help file by typing "
:help" without any arguments.Modal editing
As a descendant of ''vi'', Vim is modal—a design choice 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 (simultaneous use of multiple keys, usually involving control key (CTRL) or alt key (ALT)), and mouse input. Vim, following ''vi'', is unique in that the entire keyboard is switched into and out of these modes. This allows, but does not require, one 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:[3]
Normal
In normal mode one can enter all the editor commands such as cursor movement, text deletion, etc. Vim starts in this mode by default. This is contrary to what many new users expect.
Vim's power derives primarily from its extensive normal mode commands, many of them requiring an operator to complete. For example, the normal mode command "
dd" deletes the line the cursor is currently on, but "d" can be followed by a motion command instead of another "d" such as the line down key ("j") to delete the current and the next line. A count can also be provided; "2dd" (repeat 'dd' twice) does the same thing as "dj". Once the user learns various movement/jump commands and other normal mode editing commands and how they can be combined, their editing often becomes much more efficient than users of "modeless" editors.From normal mode one can enter insert mode in a number of ways; the most common are to press "
a" (append) or "i" (insert).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. Vim also supports special "text objects" in place of motions in operator-pending mode, which can include "
aw" for a word, "as" for a sentence, "ap" for a paragraph, etc.For example, "
d2as" in normal mode deletes the current sentence and the next, and in visual mode, "apU" converts the current paragraph to uppercase.Insert Normal
This mode is entered when control-o is pressed in insert mode. It behaves like normal mode but only lets the editor execute a single command before Vim returns to insert mode.
Visual
This behaves much like normal mode, but the movement commands extend highlighted text. The highlighting can be by characters, lines, or a block of text. When a non-movement command is used it is performed on the highlighted area. Vim's "text objects" can be used in this mode as motion commands as well.
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 is similar to modeless editors—one can highlight text with the mouse and the cursor keys, but typing a character causes Vim to replace the highlighted area with the typed character and enter insert mode.
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. Most new users expect text editors to maintain this behavior throughout the editing session.
From insert mode one can go back to normal mode by pressing the escape key (ESC).
Replace
This is a special insert mode where one can do the same things as one would do in insert mode, but each character typed overwrites an existing character in the buffer.
Command-line
In command-line mode one can enter one line which is interpreted as a command ("
:" key), search ("/" and "?" keys), or a filter command ("!" key). Afterward Vim returns to the previous mode it was in, which is usually Normal mode.Ex mode
This is like command-line mode, but one can enter multiple commands; one leaves 'ex mode' by typing "
visual".Evim
Evim is a special GUI mode that tries to behave more like a "modeless" editor where the editor starts and stays in insert mode and the user has to use the menus, mouse, and keyboard control keys, such as the arrow keys. This mode can be enabled by typing "
evim" or "vim -y" on the command line. In Windows there is usually an Evim icon on the desktop.Customization
Part of Vim's power is that it can be extensively customized. For example the basic interface can be controlled by the many options available ("
:help options"). Additionally the user can define personalized key mappings—often called macros—or abbreviations to automate sequences of keystrokes, or even call internal or user defined functions (":help map.txt").Vim script
There are many plugins available that will extend or add new functionality to Vim. These complex scripts are usually written in Vim's internal scripting language ("
:help vim-script-intro")—sometimes called VimL—but they can also be implemented using the Perl, Python, Ruby, Tcl, etc. interfaces that can be included in Vim at compile time.Features and improvements over ''vi''
Some of the main features of Vim and improvements of Vim over ''vi'':
★ Free, Open-Source software; the original BSD ''vi'' was derived from the Unix ed editor and therefore was available (in binary and source form) only to licencees of Unix. However, the 2.xBSD version has since been relicensed and is also freely available.
★ Vim is almost fully ''vi'' compatible (in compatible mode, which is on by default if a .vimrc doesn't exist)
★ Portability: there are versions for:[4]
★
★ Amiga (the initial target platform)
★
★ Atari MiNT
★
★ BeOS
★
★ MS-DOS, Microsoft Windows 95/98/Me/NT/2000/XP
★
★ IBM OS/2 and OS/390
★
★ Mac OS (discontinued in Vim 7)
★
★ MorphOS
★
★ OpenVMS
★
★ QNX
★
★ RISC OS
★
★ Unix, Linux, BSD, and Mac OS X
★ Command-line editing and extensive completion
★ Comparison of files (vimdiff)
★ Comprehensive integrated help system with hypertext via ctags
★ Configurable status line
★ Editing of compressed files (gzip, bzip2, and zip (Vim 7)) and archive files (tar (Vim 7))
★ Extended regular expressions
★ Extended scripting and expressions
★ Graphical User Interface (GUI) mode
★ IDE-like build/review/edit features
★ Insert-mode completion
★ Mouse sensitivity
★ Multi-mode folding
★ Multiple buffers
★ Remote file editing over ssh, FTP, and HTTP
★ Scripted plugins
★ Session state preservation
★ Spell checking
★ Split windows—both horizontal and vertical
★ Support for Unicode
★ Syntax highlighting for hundreds of file types
★ Tabbed windows (Vim 7)
★ Trans-session history of commands, searches, registers, positions, etc.
★ Multi-level undo/redo
★ Visual mode selection with character/line/block ranges
History
(Note that some dates are approximate,[6] development releases are not listed, and many minor version releases are not yet included in this list.)
See also
★ List of text editors
★ Comparison of text editors
★ Editor war
★ Cream – Configuration of the Vim text editor for Windows and GNU/Linux
★ List of Unix programs
References
1.
2.
3. Vim help system (type "
:help" within vim)4. "
:help sys-file-list"Vim Online: Downloads
5.
6. Dates were taken from the [ftp://ftp.vim.org/pub/vim official Vim FTP site].
External links
★ Vim home page – Includes a script archive, tips, community and download links, etc.
★ Vimdoc – Online Vim documentation
★ Vim Tips Wiki
★ [ftp://ftp.vim.org Vim FTP site]
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves
Featured Companies
| Great Time Travel | |
| Sheraton Vancouver Airport Hotel | |
| Optimum 1 Travel | |
| Aquaworld Cancun |

العربية
中国
Français
Deutsch
Ελληνική
हिन्दी
Italiano
日本語
Português
Русский
Español