Vim (text editor)
Encyclopedia
Vim is a text editor
written by Bram Moolenaar
and first released publicly in 1991. Based on the vi
editor common to Unix-like
systems, Vim is designed for use both from a command line interface and as a standalone application in a graphical user interface
. Vim is free and open source software
and is released under a license which includes some charityware clauses, encouraging users who enjoy the software to consider donating to children in Uganda
. The license is compatible with the GNU General Public License
.
Although Vim was originally released for the Amiga
, Vim has since been developed to be cross-platform
, supporting many other platforms. It is the most popular editor amongst Linux Journal
readers.
for the Amiga
computer, but first released publicly (v1.14) in 1991. It was based on an earlier editor, Stevie, for the Atari ST, created by Tim Thompson, Tony Andrews and G.R. (Fred) Walter.
The name "Vim" is an acronym for "Vi IMproved" because Vim is an extended version of the vi
editor, with many additional features designed to be helpful in editing program source code
. Originally, the acronym stood for "Vi IMitation", but that was changed with the release of Vim 2.0 in December 1993. A later comment states that the reason for changing the name was that Vim's feature set surpassed that of vi.
, Vim's interface is based not on menus or icons but on commands given in a text user interface
; its GUI
mode, gVim, adds menus and toolbars for commonly used commands but the full functionality is still expressed through its command line mode.
Vim has a built-in tutorial for beginners (accessible through the "vimtutor" command). There is also the Vim Users' Manual
that details Vim's features. This manual can be read from within Vim, or found online.
Vim also has a built-in help facility (using the
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 vimscript
. Vim also supports scripting using Lua (as of Vim 7.3), Perl
, Python
, Racket (formerly PLT Scheme), Ruby
, and Tcl
.
There are projects bundling together complex scripts and customizations and aimed at turning Vim into a tool for a specific task or adding a major flavour to its behaviour. Examples include Cream which makes Vim behave like a click-and-type editor or VimOutliner that provides a comfortable outliner
for users of Unix-like systems.
and POSIX
(e.g., Vim does not support vis open mode, only visual mode). Vim has nevertheless been described as “very much compatible with Vi”.
Some of Vim's enhancements include completion
, comparison
and merging
of files (known as vimdiff), a comprehensive integrated help system, extended regular expression
s, scripting language
s (both native and through alternative scripting interpreters such as Perl, Python, Ruby, Tcl, etc.) including support for plugins, a graphical user interface
(known as gvim), limited integrated development environment
-like features, mouse
interaction (both with and without the GUI), folding
, editing of compressed or archived files in gzip
, bzip2
, zip
, and tar
format and files over network protocols such as SSH
, FTP
, and HTTP
, session state preservation, spell checking
, split (horizontal and vertical) and tabbed windows, unicode
and other multi-language support, syntax highlighting
, trans-session command, search, and cursor position histories
, multiple level undo/redo
history which can persist across editing sessions, and visual mode.
operating systems, Vim has been ported
to many operating systems including AmigaOS
(the initial target platform), Atari
MiNT
, BeOS
, DOS
, Microsoft Windows
95
/98
/Me
/NT
/2000
/XP
/Server 2003
/Vista
/Server 2008/7, IBM
OS/2
and OS/390
, MorphOS
, OpenVMS
, QNX
, RISC OS
, Unix
, Linux
, BSD
, and Mac OS
. Also, Vim is shipped with every copy of Apple Mac OS X
.
Vim has been compiled for Apple's iOS operating system, and can be installed through Cydia
on jailbroken Apple devices running iOS. Vim has been independently compiled for Android, although it can only run on rooted devices as of July 2011.
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....
written by Bram Moolenaar
Bram Moolenaar
Bram Moolenaar is an active member of the open source software community. He is the author of Vim, a text editor that is very popular among programmers and power users....
and first released publicly in 1991. Based on the vi
Vi
vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...
editor common to Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
systems, Vim is designed for use both from a command line interface and as a standalone application in a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
. Vim is free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
and is released under a license which includes some charityware clauses, encouraging users who enjoy the software to consider donating to children in Uganda
Uganda
Uganda , officially the Republic of Uganda, is a landlocked country in East Africa. Uganda is also known as the "Pearl of Africa". It is bordered on the east by Kenya, on the north by South Sudan, on the west by the Democratic Republic of the Congo, on the southwest by Rwanda, and on the south by...
. The license is compatible with the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
.
Although Vim was originally released for the Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
, Vim has since been developed to be cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
, supporting many other platforms. It is the most popular editor amongst Linux Journal
Linux Journal
Linux Journal is a monthly technology magazine published by Belltown Media, Inc. of Houston, Texas. The magazine focuses specifically on Linux, allowing the content to be a highly specialized source of information for open source enthusiasts.-History:...
readers.
History
Written in 1988 by Bram MoolenaarBram Moolenaar
Bram Moolenaar is an active member of the open source software community. He is the author of Vim, a text editor that is very popular among programmers and power users....
for the Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
computer, but first released publicly (v1.14) in 1991. It was based on an earlier editor, Stevie, for the Atari ST, created by Tim Thompson, Tony Andrews and G.R. (Fred) Walter.
The name "Vim" is an acronym for "Vi IMproved" because Vim is an extended version of the vi
Vi
vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...
editor, with many additional features designed to be helpful in editing program source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
. Originally, the acronym stood for "Vi IMitation", but that was changed with the release of Vim 2.0 in December 1993. A later comment states that the reason for changing the name was that Vim's feature set surpassed that of vi.
Interface
Like viVi
vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...
, Vim's interface is based not on menus or icons but on commands given in a text user interface
Text user interface
TUI short for: Text User Interface or Textual User Interface , is a retronym that was coined sometime after the invention of graphical user interfaces, to distinguish them from text-based user interfaces...
; its GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
mode, gVim, adds menus and toolbars for commonly used commands but the full functionality is still expressed through its command line mode.
Vim has a built-in tutorial for beginners (accessible through the "vimtutor" command). There is also the Vim Users' Manual
User guide
A user guide or user's guide, also commonly known as a manual, is a technical communication document intended to give assistance to people using a particular system...
that details Vim's features. This manual can be read from within Vim, or found online.
Vim also has a built-in help facility (using the
:help
command) that allows users to query and navigate through commands and features.Customization
Part of Vim's power is that it can be extensively customized. The basic interface can be controlled by the many options available, and 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.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 vimscript
Vimscript
Vimscript, also Vim script, is the scripting language built into Vim. Based on the ex editor language of the original vi editor, early versions of Vim added commands for control flow and function definitions. Since version 7, Vimscript also supports more advanced data types such as Lists and...
. Vim also supports scripting using Lua (as of Vim 7.3), Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
, Racket (formerly PLT Scheme), Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
, and Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
.
There are projects bundling together complex scripts and customizations and aimed at turning Vim into a tool for a specific task or adding a major flavour to its behaviour. Examples include Cream which makes Vim behave like a click-and-type editor or VimOutliner that provides a comfortable outliner
Outliner
An outliner is a computer program that allows text to be organized into discrete sections that are related in a tree structure or hierarchy. Text may be collapsed into a node, or expanded and edited....
for users of Unix-like systems.
Features and improvements over vi
Vim has a vi compatibility mode but when not in this mode Vim has many enhancements over vi. However, even in compatibility mode, Vim is not 100% compatible with vi as defined in the Single Unix SpecificationSingle UNIX Specification
The Single UNIX Specification is the collective name of a family of standards for computer operating systems to qualify for the name "Unix"...
and POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
(e.g., Vim does not support vis open mode, only visual mode). Vim has nevertheless been described as “very much compatible with Vi”.
Some of Vim's enhancements include completion
Autocomplete
Autocomplete is a feature provided by many web browsers, e-mail programs, search engine interfaces, source code editors, database query tools, word processors, and command line interpreters. Autocomplete involves the program predicting a word or phrase that the user wants to type in without the...
, comparison
File comparison
File comparison in computing compares the contents of computer files, finding their common contents and their differences. The result of the comparison may be presented in a graphic user interface or as part of larger tasks in networks, file systems, or revision control.Some widely-used file...
and merging
Merge (revision control)
Merging in revision control, is a fundamental operation that reconciles multiple changes made to a revision-controlled collection of files. Most often, it is necessary when a file is modified by two people on two different computers at the same time...
of files (known as vimdiff), a comprehensive integrated help system, extended regular expression
Regular expression
In computing, a regular expression provides a concise and flexible means for "matching" strings of text, such as particular characters, words, or patterns of characters. Abbreviations for "regular expression" include "regex" and "regexp"...
s, scripting language
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...
s (both native and through alternative scripting interpreters such as Perl, Python, Ruby, Tcl, etc.) including support for plugins, a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
(known as gvim), limited integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
-like features, mouse
Mouse (computing)
In computing, a mouse is a pointing device that functions by detecting two-dimensional motion relative to its supporting surface. Physically, a mouse consists of an object held under one of the user's hands, with one or more buttons...
interaction (both with and without the GUI), folding
Folding editor
A folding editor is a text editor which supports text folding or code folding, a mechanism allowing the user to hide and reveal blocks of text—usually named...
, editing of compressed or archived files in gzip
Gzip
Gzip is any of several software applications used for file compression and decompression. The term usually refers to the GNU Project's implementation, "gzip" standing for GNU zip. It is based on the DEFLATE algorithm, which is a combination of Lempel-Ziv and Huffman coding...
, bzip2
Bzip2
bzip2 is a free and open source implementation of the Burrows–Wheeler algorithm. It is developed and maintained by Julian Seward. Seward made the first public release of bzip2, version 0.15, in July 1996.-Compression efficiency:...
, zip
ZIP (file format)
Zip is a file format used for data compression and archiving. A zip file contains one or more files that have been compressed, to reduce file size, or stored as is...
, and tar
Tar (file format)
In computing, tar is both a file format and the name of a program used to handle such files...
format and files over network protocols such as SSH
Secure Shell
Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...
, FTP
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...
, and HTTP
Hypertext Transfer Protocol
The Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....
, session state preservation, spell checking
Spell checker
In computing, a spell checker is an application program that flags words in a document that may not be spelled correctly. Spell checkers may be stand-alone capable of operating on a block of text, or as part of a larger application, such as a word processor, email client, electronic dictionary,...
, split (horizontal and vertical) and tabbed windows, unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
and other multi-language support, syntax highlighting
Syntax highlighting
Syntax highlighting is a feature of some text editors that display text—especially source code—in different colors and fonts according to the category of terms. This feature eases writing in a structured language such as a programming language or a markup language as both structures and...
, trans-session command, search, and cursor position histories
Command History
Command history is a feature in many operating system shells, computer algebra programs, and other software that allows the user to recall, edit and rerun previous commands....
, multiple level undo/redo
Undo
Undo is a command in many computer programs. It erases the last change done to the document reverting it to an older state. In some more advanced programs such as graphic processing, undo will negate the last command done to the file being edited....
history which can persist across editing sessions, and visual mode.
Availability
Whereas vi was originally available only on UnixUnix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
operating systems, Vim has been ported
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...
to many operating systems including AmigaOS
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...
(the initial target platform), Atari
Atari
Atari is a corporate and brand name owned by several entities since its inception in 1972. It is currently owned by Atari Interactive, a wholly owned subsidiary of the French publisher Atari, SA . The original Atari, Inc. was founded in 1972 by Nolan Bushnell and Ted Dabney. It was a pioneer in...
MiNT
MiNT
MiNT is a free software alternative operating system kernel for the Atari ST and its successors. Together with the free system components fVDI , XaAES , and TeraDesk , MiNT provides a free TOS compatible replacement OS that is capable of multitasking.MiNT was originally released by Eric Smith as...
, BeOS
BeOS
BeOS is an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing...
, DOS
DOS
DOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...
, Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...
/98
Windows 98
Windows 98 is a graphical operating system by Microsoft. It is the second major release in the Windows 9x line of operating systems. It was released to manufacturing on 15 May 1998 and to retail on 25 June 1998. Windows 98 is the successor to Windows 95. Like its predecessor, it is a hybrid...
/Me
Windows Me
Windows Millennium Edition, or Windows Me , is a graphical operating system released on September 14, 2000 by Microsoft, and was the last operating system released in the Windows 9x series. Support for Windows Me ended on July 11, 2006....
/NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...
/2000
Windows 2000
Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...
/XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...
/Server 2003
Windows Server 2003
Windows Server 2003 is a server operating system produced by Microsoft, introduced on 24 April 2003. An updated version, Windows Server 2003 R2, was released to manufacturing on 6 December 2005...
/Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
/Server 2008/7, IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
and OS/390
OS/390
OS/390 is an IBM operating system for the System/390 IBM mainframe computers.OS/390 was introduced in late 1995 in an effort, led by the late Randy Stelman, to simplify the packaging and ordering for the key, entitled elements needed to complete a fully functional MVS operating system package...
, MorphOS
MorphOS
MorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...
, OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
, QNX
QNX
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by Canadian BlackBerry-producer Research In Motion.-Description:As a microkernel-based...
, RISC OS
RISC OS
RISC OS is a computer operating system originally developed by Acorn Computers Ltd in Cambridge, England for their range of desktop computers, based on their own ARM architecture. First released in 1987, under the name Arthur, the subsequent iteration was renamed as in 1988...
, Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, BSD
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
, and Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
. Also, Vim is shipped with every copy of Apple Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
.
Vim has been compiled for Apple's iOS operating system, and can be installed through Cydia
Cydia
Cydia is a large genus of tortrix moths, belonging to the tribe Grapholitini of subfamily Olethreutinae. Its distinctness from and delimitation versus the tribe's type genus Grapholita requires further study....
on jailbroken Apple devices running iOS. Vim has been independently compiled for Android, although it can only run on rooted devices as of July 2011.
Release history
Date | Version | Changes and additions |
---|---|---|
June, 1987 | N/A | Tim Thompson releases Stevie (ST editor for VI enthusiasts), a limited vi clone for the Atari ST Atari ST The Atari ST is a home/personal computer that was released by Atari Corporation in 1985 and commercially available from that summer into the early 1990s. The "ST" officially stands for "Sixteen/Thirty-two", which referred to the Motorola 68000's 16-bit external bus and 32-bit internals... , posting the source on Usenet Usenet Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980... . |
June, 1988 | N/A | Tony Andrews improves Stevie, and ports it to Unix Unix Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna... and OS/2 OS/2 OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal... , releasing version 3.10 on Usenet Usenet Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980... . |
1988 | 1.0 | Bram Moolenaar creates Vi IMitation for the Amiga, based on Stevie, never publicly released |
November 2, 1991 | 1.14 | First public release for the Amiga Amiga The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities... on Fred Fish Fred Fish Fred Fish was a computer programmer notable for work on the GNU Debugger and his series of Fish disks of freeware for the Amiga. He was a pioneering spirit pervasive in the Amiga community... disk #591 |
1992 | 1.22 | Port to Unix Unix Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna... . Vim now competes with vi Vi vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi... . |
December 14, 1993 | 2.0 | This is the first release using the name Vi IMproved. |
August 12, 1994 | 3.0 | Support for multiple windows |
May 29, 1996 | 4.0 | Graphical user interface Graphical user interface In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and... |
February 19, 1998 | 5.0 | Syntax highlighting Syntax highlighting Syntax highlighting is a feature of some text editors that display text—especially source code—in different colors and fonts according to the category of terms. This feature eases writing in a structured language such as a programming language or a markup language as both structures and... , basic scripting Scripting language A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the... (user defined functions, commands, etc.) |
April 6, 1998 | 5.1 | Bug Software bug A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's... fixes, various improvements |
April 27, 1998 | 5.2 | Long line support, file browser, dialogs, popup menu, select mode, session files, user defined functions and commands, Tcl Tcl Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own... interface, etc. |
August 31, 1998 | 5.3 | Bug fixes, etc. |
July 25, 1999 | 5.4 | Basic file encryption, various improvements |
September 19, 1999 | 5.5 | Bug fixes, various improvements |
January 16, 2000 | 5.6 | New syntax files, bug fixes, etc. |
June 24, 2000 | 5.7 | idem |
May 31, 2001 | 5.8 | idem |
September 26, 2001 | 6.0 | Folding Folding editor A folding editor is a text editor which supports text folding or code folding, a mechanism allowing the user to hide and reveal blocks of text—usually named... , plugins, multi-language, etc. |
March 24, 2002 | 6.1 | Bug fixes |
June 1, 2003 | 6.2 | GTK2, Arabic language support, :try command, minor features, bug fixes |
June 7, 2004 | 6.3 | Bug fixes, translation updates, mark improvements |
October 15, 2005 | 6.4 | Bug fixes, updates to Perl, Python, and Ruby support |
May 7, 2006 | 7.0 | Spell checking Spell checker In computing, a spell checker is an application program that flags words in a document that may not be spelled correctly. Spell checkers may be stand-alone capable of operating on a block of text, or as part of a larger application, such as a word processor, email client, electronic dictionary,... , code completion Autocomplete Autocomplete is a feature provided by many web browsers, e-mail programs, search engine interfaces, source code editors, database query tools, word processors, and command line interpreters. Autocomplete involves the program predicting a word or phrase that the user wants to type in without the... , tab pages (multiple viewports/window layouts), current line and column highlighting, undo branches, and more |
May 12, 2007 | 7.1 | Bug fixes, new syntax and runtime files, etc. |
August 9, 2008 | 7.2 | Floating point support in scripts, refactored screen drawing code, bug fixes, new syntax files, etc. |
August 15, 2010 | 7.3 | Lua support, Python3 support, Blowfish Blowfish (cipher) Blowfish is a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. Blowfish provides a good encryption rate in software and no effective cryptanalysis of it has been found to date... encryption, persistent undo/redo |
See also
- Comparison of text editorsComparison of text editorsThis article provides basic comparisons for common text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles...
- Editor warEditor warEditor war is the common name for the rivalry between users of the vi and Emacs text editors. The rivalry has become a lasting part of hacker culture and the free software community....
- List of text editors
- List of Unix programs
- VimperatorVimperatorVimperator is a Mozilla Firefox extension forked from the original Firefox extension version of Conkeror and designed to provide a more efficient user interface for keyboard-fluent users...
External links
- Online Vim documentation
- Online Vim help pages
- [ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf Vi IMproved - Vim], by Steve Oualline and errata.
- Books, complete list
- Vim Introduction and Tutorial