Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Vi (text editor)
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Ports and clones=== [[File:OpenBSD vi Editor.png|thumb|The vi editor in [[OpenBSD]] (''[[nvi]]'') on startup, editing a temporary empty file]] [[File:OpenBSD vi Editor Ruby Hello World.png|thumb|The vi editor in [[OpenBSD]], editing a small [[Hello world program|"Hello, world!"]] type [[Ruby (programming language)|Ruby]] program]] Up to version 3.7 of vi, created in October 1981,<ref name="vi-versions"/> UC Berkeley was the development home for vi, but with Bill Joy's departure in early 1982 to join [[Sun Microsystems]], and AT&T's [[UNIX System V]] (January 1983) adopting vi,<ref>{{cite book |title=UNIX: the complete reference |year=2006 |publisher=McGraw-Hill Osborne Media |isbn=978-0-07-226336-7 |author=Kenneth H. Rosen |author2=Douglas A. Host |author3=Rachel Klee |page=10 |url=https://books.google.com/books?id=2Et--84HIkwC&pg=PA10}}</ref> changes to the vi codebase happened more slowly and in a more dispersed and mutually incompatible way. At UC Berkeley, changes were made but the version number was never updated beyond 3.7. Commercial Unix vendors, such as Sun, [[Hewlett-Packard|HP]], [[Digital Equipment Corporation|DEC]], and [[IBM]] each received copies of the vi source, and their operating systems, [[Solaris (operating system)|Solaris]], [[HP-UX]], [[Tru64 UNIX]], and [[AIX]], continued to maintain versions of vi directly descended from the 3.7 release, but with added features such as adjustable key mappings, encryption, and wide character support. In 1983, vi was one of several UNIX tools available for Charles River Data Systems' [[UNOS (operating system)|UNOS]] operating system under [[Bell Laboratories]] license.<ref>{{Cite book|year=1983|title=The Insider's Guide To The Universe|publisher=Charles River Data Systems, Inc.|url=https://www.1000bit.it/ad/bro/charles/CharlesRiverSystem-Universe.pdf|page=13}}</ref> While commercial vendors could work with Bill Joy's codebase, many people could not. Because Joy had begun with [[Ken Thompson]]'s [[Ed (text editor)|ed]] editor, ex and vi were derivative works and could not be distributed except to people who had an AT&T source license.{{Citation needed|date=July 2023}} Those wanting a free Unix-style editor would have to look elsewhere. By 1985, a version of [[Emacs]] ([[MicroEMACS]]) was available for a variety of platforms, but it was not until June 1987 that [[Stevie (text editor)|STEVIE]] (ST Editor for VI Enthusiasts), a limited vi clone, appeared for the [[Atari ST]].<ref name=stevie>{{cite web |last=Thompson |first=Tim |date=26 March 2000 |title=Stevie |url=https://timthompson.com/tjt/stevie/ |access-date=2010-12-29}}</ref><ref name="stevie-usenet">{{cite newsgroup |title=A mini-vi for the ST |author=Tim Thompson |date=28 June 1987 |newsgroup=comp.sys.atari.st |message-id=129@glimmer.UUCP |url=https://groups.google.com/g/comp.sys.atari.st/c/J65TpLBhfss/m/Mop3jYhvuY0J |access-date=2010-12-29}}</ref> In early January 1990, Steve Kirkendall posted a new clone of vi, ''[[Elvis (text editor)|Elvis]]'', to the [[Usenet]] newsgroup comp.os.minix, aiming for a more complete and more faithful clone of vi than STEVIE.<ref name="elvis-Kirkendall">{{cite newsgroup |title=A new clone of vi is coming soon: ELVIS |author=Steve Kirkendall |date=20 April 1990 |newsgroup=comp.editors |message-id=2719@psueea.UUCP |url=https://groups.google.com/g/comp.editors/c/rdUYDzANsMw/m/ErR-8j1VCfQJ |access-date=2010-12-29}} (discusses January comp.os.minix posting, and design goals)</ref> It quickly attracted considerable interest in a number of enthusiast communities.<ref>Usenet, various newsgroups (comp.editors, comp.sys.*, comp.os.*), 1990</ref> [[Andrew S. Tanenbaum|Andrew Tanenbaum]] quickly asked the community to decide on one of these two editors to be the vi clone in [[Minix]];<ref name="elvis-Tanenbaum">{{cite newsgroup |title=Elvis vs. stevie |author=Andrew S. Tanenbaum |date=18 January 1990 |newsgroup=comp.os.minix |message-id=5133@ast.cs.vu.nl |url=https://groups.google.com/g/comp.os.minix/c/RhqVtXMWiN8/m/6GlQiUR7aeYJ |access-date=2010-12-29}}</ref> Elvis was chosen, and remains the vi clone for Minix today. In 1989, [[Lynne Jolitz]] and [[William Jolitz]] began porting [[BSD Unix]] to run on [[Intel 80386|386]] class processors, but to create a free distribution they needed to avoid any AT&T-contaminated code, including Joy's vi. To fill the void left by removing vi, their 1992 [[386BSD]] distribution adopted Elvis. 386BSD's descendants, [[FreeBSD]] and [[NetBSD]], followed suit. But at UC Berkeley, [[Keith Bostic (software engineer)|Keith Bostic]] wanted a "bug for bug compatible" replacement for Joy's vi for 4.4BSD-Lite. Using Kirkendall's Elvis (version 1.8) as a starting point, Bostic created [[nvi]], releasing it in the northern spring of 1994.<ref name="nvi-chapter"/> When FreeBSD and NetBSD resynchronized the 4.4-Lite2 codebase, they too switched over to Bostic's nvi, which they continue to use today.<ref name="nvi-chapter"/> Despite the existence of vi clones with enhanced feature sets, sometime before June 2000,<ref>[http://ex-vi.cvs.sourceforge.net/viewvc/ex-vi/ex-vi/Changes?view=markup Changes] file, from Traditional Vi by Gunnar Ritter</ref> Gunnar Ritter ported Joy's vi codebase (taken from 2.11BSD, February 1992) to modern Unix-based operating systems, such as Linux and FreeBSD. Initially, his work was technically illegal to distribute without an AT&T source license, but, in January 2002, those licensing rules were relaxed,<ref>{{cite web |title=Caldera License for 32-bit 32V UNIX and 16 bit UNIX Versions 1, 2, 3, 4, 5, 6, 7 |work=mckusick.com |url=https://www.mckusick.com/csrg/calder-lic.pdf}}</ref> allowing legal distribution as an open-source project. Ritter continued to make small enhancements to the vi codebase similar to those done by commercial Unix vendors still using Joy's codebase, including changes required by the POSIX.2 standard for vi. His work is available as Traditional Vi.<ref>{{cite web |date=2013-03-07 |title=The traditional vi |website=SourceForge |url=https://sourceforge.net/projects/ex-vi/ |access-date=2023-07-24}}</ref> But although Joy's vi was now once again available for BSD Unix, it arrived after the various BSD flavors had committed themselves to nvi, which provided a number of enhancements over traditional vi, and dropped some of its legacy features (such as open mode for editing one line at a time). Thus BSD Unix, where Joy's vi codebase began, no longer uses it, and the [[list of Unix systems#Commercial AT&T UNIX Systems and descendants|AT&T-derived Unixes]], which in the early days lacked Joy's editor, are the ones that now use and maintain modified versions of his code.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Vi (text editor)
(section)
Add topic