The VI family is a popular member of the TextEditorFamilies, especially on UNIX and Linux machines. Editors in this family are all Modal.
Vi Editor Family:
- VI - The original Unix screen editor by Bill Joy
- em - Derivative of ed for screen editing, and ancestor of vi
- AmigaVIM - A port of VIM 5.0 to the amiga
- bvi - A binary editor that follows the ViFamily KeyboardLayout convention.
- calvin - A limited vi for DOS. (No R replace, and limited to 640KB memory.)
- Cream - Vim repackaged to be CUA compliant
- Elvis - Began on the Atari 520 ST computer.
- Kakoune - Open source VIM inspired editor for Linux and OS/X
- Lemmy - A windows version with syntax highlighting.
- levee - A tiny vi clone for Linux
- MacVim - Open source port of the Vim editor to the Macintosh
- nvi - new vi. Free BSD-Unixes (FreeBSD, NetBSD and OpenBSD) use this as vi.
- OpenWatcom Vi - A Vi-like editor included with the OpenWatcom C++/F77 development environment.
- PVIC - A portable Vi clone based on Stevie
- Stevie - Small vi clone originally written for the Atari ST and ported to other platforms
- svicc - An nvi clone for Commodore C64
- tvx - Open source editor emulating vi - predecessor of Vide
- VI65 - Open source vi implementation for devices using the 6502 processor (Commodore, Atari 8bit, Apple II)
- VI Distributed - Open source distributed ncurses based editor
- Vigor - "Clippy" plugin for vi under Linux and BSD
- vile - VI and Emacs combination. Implemented using MicroEmacs
- VIM - A great (and portable) VI implementation. Clearly the best version available today. It is based on Stevie.
- VimCE - A port of Vim to the PocketPC
- VimOutliner - An outlining editor based on VIM
- VIrus - Open source minimalist vi implementation taken from Busybox
- vis - Open source Vim-like text editor
- WinVI - Freeware Windows GUI vi clone
- xvi - A portable multi-file text editor based on vi
vi implementations that run inside other applications:
- The AbiWord word processor lets you switch to vi keybindings by editing a configuration file.
- bash, gdb, mysql-client, and many other applications use the GNU Readline library to interact with the user. Readline includes a vi mode.
- In Bourne-style shells like ksh and zsh, type set -o vi to enable vi-like command-line editing.
- The Crisp text editor includes vi emulation.
- For Eclipse, use vrapper, viPlugin, viclipse?, or eclipseviplugin. Or use vimplugin? or Eclim to run an instance of Vim inside Eclipse. Also see the "For programming" line elsewhere on this page.
- The Editra text editor has a Vim emulation mode.
- For Emacs: For Vim emulation, use evil-mode? (recommended; it's the successor to Vimpulse) or mlessvim?. Or, for vi emulation, use VIPER?, modal-mode?, evi.el, M-x vip-mode, or M-x vi-mode.
- For Firefox, use jV?, vi Textbox Editor, or Textarea viEditor to get vi-like editing in textareas. Or use It's All Text!, Editus Externus, or EmbeddedEditor? to use an external editor to edit textareas. To use vi-like keybindings for Web browsing, use the Pentadactyl? extension or its ancestor, Vimperator. When Pentadactyl or Vimperator is installed, use CTRL+I to launch gVim to edit the current text field.
- For gedit, use ViGedit? for vi emulation.
- For the Google Chrome web browser, there exist at several different software packages to get vi-like keybindings. Visit https://chrome.google.com/extensions/search?q=vim -- and also try a Web search for [ chrome vi | vim ] -- to find them all.
- For the IntelliJ? IDEA Java IDE, use IdeaVIM? for Vim emulation.
- For the IRSSI IRC chat client, use the vim_mode script for Vim emulation.
- For the JED text editor, visit the Jed Modes website for a vi emulation mode.
- For jEdit, use Vimposter? for vim emulation.
- For the JBuilder Java IDE, use jVi, which is a port of a large portion of Vim, or VIEX?.
- The Kate text editor includes a vi mode.
- The Komodo multi-language IDE and Komodo Edit (the freeware version) include vi emulation.
- For MS Outlook, use ViEmu for Vim emulation, or use CubicleVim? to let you use Vim as an external editor.
- For MS SQL Server, use ViEmu for Vim emulation.
- For MS Visual Studio, use ViEmu or VsVim for Vim emulation.
- Instead of MS Windows Command Prompt (cmd.exe), use Clink and [its vi mode].
- For MS Word, use viWord (experimental) for vi emulation or ViEmu for Vim emulation.
- For the NetBeans Java IDE, use jVi, which is a port of a large portion of Vim.
- For Opera, use vimperopera? to get vi-like keybindings for Web browsing.
- In PowerShell?, use PSReadLine?'s ViMode? support. You'll need at least PowerShell? 5.1. This is a free download for Windows 7 and 8. If you're on Windows 10, you should have it already.
- The [Qt Creator]? multi-language IDE includes a Vim mode.
- The SlickEdit multi-language IDE includes Vim emulation.
- The SVI? text editor for the Squeak Smalltalk-based environment includes Vim emulation.
- The vifm? file manager includes vi-like keybindings.
- The VIDE C/C++/Java? IDE includes vi emulation.
- For TextMate, use ViMate for vi emulation.
- For the Thunderbird email and news client, use the Muttator? extension to get vi-like keybindings.
- If you want a web browser designed from the ground up to support Vi keybindings, you have at least half a dozen browsers to choose from. Do a Web search for [ vi | vim web browser ]. They seem to generally be based on the WebKit? layout engine.
- The [Zathura] document viewer lets you view PDF files, PostScript? files, and certain other files. It uses Vim-like keybindings by default.
What if I use a Qt or KDE application which is not in the above list?
File a feature request and ask the maintainers of your favorite Qt or KDE applications to add [FakeVim] support.
What if I also use another custom application which is not in the above list?
Install [vim-anywhere] then press the vim-anywhere hotkey. This will launch Vim. Type some text. Tell Vim to save and quit. Your typed text will automatically be copied to the clipboard, ready to be pasted into your custom application.
vim-anywhere works in Mac OS and Linux, but not in Windows.
What if I use Windows?
Then you may want to [set Vim as the default editor for unknown file types in Windows].
What if I want to run one command in order to make the vi keybindings work in all applications, system-wide?
Well, you can't. The closest thing you can do is to install [homesick-vi-everywhere].
This works in Bash and many other command-line tools, on all platforms. It probably even works in Cygwin on Windows.
Using other applications inside Vim:
- For email, use notmuch.vim, an email client that runs inside Vim.
- For programming, use Eclim to let Vim access Eclipse features.
- Yzis is a Vim clone based around a C++ library which can be embedded into other software. Yzis ships with Qt and ncurses frontends.
vi utilities and macros:
- evi - Macro definitions to make VI emulate emacs
- e for vi - Command line preprocessor to get you into vi with ease
- vi-hanoi - vi macros to solve the Tower of Hanoi puzzle
- vi-maze - vi macros to solve mazes generated by Unix maze
- Vigor - Vi plugin inspired by the User Friendly comic strip
non-vi modal editors
- ve - Freeware Modal editor by Rico Tudor. Inspired by vi, but comepletely different. Included with BeOS?.