# Why does anyone use Vi?

**URL:** <https://boards.straightdope.com/t/why-does-anyone-use-vi/596765>\
**Category:** Miscellaneous and Personal Stuff I Must Share\
**Created:** [September 19, 2011, 12:36am UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765 "2011-09-19T00:36:31Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![pullin](https://avatars.discourse-cdn.com/v4/letter/p/c57346/32.png) [@pullin](https://boards.straightdope.com/u/pullin)\
**Post date:** [September 19, 2011, 9:36am UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/21 "2011-09-19T09:36:05Z")

</div>

“vi” is the middle of evil.

(I use emacs, even on my pc)

---

<div class="post-metadata">

**Author:** ![minor7flat5](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/minor7flat5/32/258_2.png) [@minor7flat5](https://boards.straightdope.com/u/minor7flat5)\
**Post date:** [September 19, 2011, 12:31pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/22 "2011-09-19T12:31:58Z")

</div>

> [@JoelUpchurch](#):
>
> Strangely enough, I can’t even remember what editor I used on Unix in the eighties. I just remember it was real easy to use with the function keys on my terminal.

That sounds similar to EVE, a nice text editor that I used on a VAX running VMS in the 80s. The editor was based on the [original EDT](http://en.wikipedia.org/wiki/EDT_%28text_editor%29).

At the time I remember wondering why those poor Unix people were saddled with vi while VMS people had such a nice full screen editor with such a low learning curve.

---

<div class="post-metadata">

**Author:** ![johnpost](https://avatars.discourse-cdn.com/v4/letter/j/f17d59/32.png) [@johnpost](https://boards.straightdope.com/u/johnpost)\
**Post date:** [September 19, 2011, 1:12pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/23 "2011-09-19T13:12:24Z")

</div>

I knew Vi she was a smart lady who know Vi. It did get confusing sometimes when someone said Vi because you didn’t know if it was if they were talking about Vi or Vi. People resorted to calling her by her full name to end the confusion.

---

<div class="post-metadata">

**Author:** ![Simplicio](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@Simplicio](https://boards.straightdope.com/u/Simplicio)\
**Post date:** [September 19, 2011, 1:22pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/24 "2011-09-19T13:22:00Z")

</div>

> [@johnpost](#):
>
> I knew Vi she was a smart lady who know Vi. It did get confusing sometimes when someone said Vi because you didn’t know if it was if they were talking about Vi or Vi. People resorted to calling her by her full name to end the confusion.

Do people pronounce the text editor “vee”? I’ve always heard it “vee eye”, that is, the two letters pronounced sepretely.

> [@Jragon](#):
>
> A lot of people are saying “they’re not bad to use if you don’t need the complicated stuff” and while that’s true, I often don’t see a reason to not use gedit, which has come standard on every Linux install I’ve ever had. Hell, at least gedit’s syntax highlighting isn’t a complete eyesore (yeah yeah, you can customize it, but gedit’s is pretty out of the box). I can understand the sysadmin no footprint thing, but aside from that if you’re not doing anything complicated you probably don’t need to use vi or emacs.

I don’t think gedit has a terminal mode (and is only on Gnome systems). So if your trying to edit files without a GUI, or remotely editing text files and the connection is to slow to tunnel a GUI using X, you need something like vi.

Granted there are plenty of people who don’t do those things, so I’m sure gedit is fine. But as to the OPs question, I think the inclusion of a terminal mode is one reason why vi is still in use amongst the techy crowd.

---

<div class="post-metadata">

**Author:** ![black\_rabbit](https://avatars.discourse-cdn.com/v4/letter/b/f19dbf/32.png) [@black\_rabbit](https://boards.straightdope.com/u/black_rabbit)\
**Post date:** [September 19, 2011, 2:00pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/25 "2011-09-19T14:00:39Z")

</div>

Muscle memory, mostly.

---

<div class="post-metadata">

**Author:** ![charmstr](https://avatars.discourse-cdn.com/v4/letter/c/53a042/32.png) [@charmstr](https://boards.straightdope.com/u/charmstr)\
**Post date:** [September 19, 2011, 3:57pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/26 "2011-09-19T15:57:18Z")

</div>

> [@JoelUpchurch](#):
>
> It sounds like the reasons for using vi are the same reasons I use notepad on a Windows computer.

And the same reason we used EDLIN on DOS machines back in the late 80’s.

---

<div class="post-metadata">

**Author:** ![JoelUpchurch](https://avatars.discourse-cdn.com/v4/letter/j/f05b48/32.png) [@JoelUpchurch](https://boards.straightdope.com/u/JoelUpchurch)\
**Post date:** [September 19, 2011, 4:19pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/27 "2011-09-19T16:19:05Z")

</div>

> [@minor7flat5](#):
>
> That sounds similar to EVE, a nice text editor that I used on a VAX running VMS in the 80s. The editor was based on the [original EDT](http://en.wikipedia.org/wiki/EDT_%28text_editor%29).
> 
> At the time I remember wondering why those poor Unix people were saddled with vi while VMS people had such a nice full screen editor with such a low learning curve.

I was using a Perkin-Elmer 3200 series at the time. EVE doesn’t ring a bell. My strongest memories were creating documents for the laser printer using troff. The documents looked nice, but it huge pain to make look nice, especially the tables. We had a Spinwriter, but no one wanted to use it after we got a laser printer. This was before HP brought the price down to $5,000.

---

<div class="post-metadata">

**Author:** ![Bytegeist](https://avatars.discourse-cdn.com/v4/letter/b/9dc877/32.png) [@Bytegeist](https://boards.straightdope.com/u/Bytegeist)\
**Post date:** [September 19, 2011, 4:43pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/28 "2011-09-19T16:43:19Z")

</div>

> [@Athena](#):
>
> I consider it one of my best professional achievements that I have never learned how to use VI or emacs. Good Lord, people, WTF? Why in the world would you want to use one of those archaic hard-to-use things when there are so many other options available?

If all you want to do is edit some plain text in a simple way, then yes, it doesn’t much matter what you use. On my own Mac, I keep TextWrangler and similar desktop apps around for exactly that purpose. MS Windows has plenty of choices too.

However, there are very few editors that give you Emacs’s power for manipulating text. If you write a lot of text or software for a living, you might appreciate the huge variety of functions Emacs provides, along with the ability to write your own functions, and then bind them to any key or mouse click.

It’s roughly analogous to Microsoft’s VBA language that accompanies their office applications. Office apps without a programming language underlying them are still useful enough, but they become so much more powerful when you can program their behavior yourself, in ways that the original authors couldn’t give you out of the box.

---

<div class="post-metadata">

**Author:** ![filmore](https://avatars.discourse-cdn.com/v4/letter/f/7993a0/32.png) [@filmore](https://boards.straightdope.com/u/filmore)\
**Post date:** [September 19, 2011, 4:52pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/29 "2011-09-19T16:52:22Z")

</div>

If you only work on one machine then you can install whatever editor you like. But many people who work in big shops connect to many, many machines that are installed and managed by different groups. There’s no guarantee that any 3rd party package will be there.

I decided to use vi exclusively because I kept having to connect to random test and customer machines and vi was always there. There are better editors, but vi works pretty well for my needs.

---

<div class="post-metadata">

**Author:** ![Greg\_Charles](https://avatars.discourse-cdn.com/v4/letter/g/839c29/32.png) [@Greg\_Charles](https://boards.straightdope.com/u/Greg_Charles)\
**Post date:** [September 19, 2011, 5:25pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/30 "2011-09-19T17:25:29Z")

</div>

I tend to use IDEs for code editing these days, but when I want to do something fast from a command line, then definitely vi. I’ve heard that when it comes to emacs and vi, you love whichever one you learned first and hate the other. That’s a good theory, but I prefer mine: emacs was created by Satan to make humans suffer.

---

<div class="post-metadata">

**Author:** ![Athena](https://avatars.discourse-cdn.com/v4/letter/a/35a633/32.png) [@Athena](https://boards.straightdope.com/u/Athena)\
**Post date:** [September 19, 2011, 6:20pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/31 "2011-09-19T18:20:32Z")

</div>

> [@Bytegeist](#):
>
> If you write a lot of text or software for a living, you might appreciate the huge variety of functions Emacs provides, along with the ability to write your own functions, and then bind them to any key or mouse click.

I do write software for a living. Still never saw the appeal of emacs or vi over a nice gui-based editor, most of which also allow you to write functions and macros.

---

<div class="post-metadata">

**Author:** ![Scuba\_Ben](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@Scuba\_Ben](https://boards.straightdope.com/u/Scuba_Ben)\
**Post date:** [September 19, 2011, 6:41pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/32 "2011-09-19T18:41:24Z")

</div>

> [@Greg\_Charles](#):
>
> I tend to use IDEs for code editing these days, but when I want to do something fast from a command line, then definitely vi. I’ve heard that when it comes to emacs and vi, you love whichever one you learned first and hate the other. That’s a good theory, but I prefer mine: emacs was created by Satan to make humans suffer.

In my experience (and I haven’t used emacs in years), emacs was created by Humans to make Satan suffer – and we’re still trying to get there.

---

<div class="post-metadata">

**Author:** ![drewtwo99](https://avatars.discourse-cdn.com/v4/letter/d/d07c76/32.png) [@drewtwo99](https://boards.straightdope.com/u/drewtwo99)\
**Post date:** [September 19, 2011, 6:45pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/33 "2011-09-19T18:45:35Z")

</div>

I am just starting to use Unix at my new job, and vi is all I have been taught to use. It’s pretty easy, user friendly, and it serves the purpose that we need to use it for.

---

<div class="post-metadata">

**Author:** ![Bytegeist](https://avatars.discourse-cdn.com/v4/letter/b/9dc877/32.png) [@Bytegeist](https://boards.straightdope.com/u/Bytegeist)\
**Post date:** [September 19, 2011, 7:25pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/34 "2011-09-19T19:25:26Z")

</div>

> [@Athena](#):
>
> I do write software for a living. Still never saw the appeal of emacs or vi over a nice gui-based editor, most of which also allow you to write functions and macros.

It’s certainly possible you’ve never needed or wanted a feature that Emacs provides and that your favorite editor doesn’t. Some things I like about Emacs, which often don’t exist in more ordinary text editors:  
[ul]  
[li]Neatly re-format block comments, while automatically rearranging the comment markers in between lines.[/li][li]Download syntax-coloring libraries for pretty much every programming language in existence, as well as file formats like XML, JSON, Makefiles, X Windows resource files, etc.[/li][li]Customizable indentation rules for most languages.[/li][li]Add your own colorized syntax if desired. For example TRUE and FALSE are not special words in C normally, but you can make them show up in color (and therefore their misspellings won’t).[/li][li]Limit customization rules to specific individual files, or to all files in a directory tree.[/li][li]Run Unix shell commands and capture their output in a buffer, all within Emacs. No need to copy and paste from a terminal window.[/li][li]Cut, copy, and paste rectangles of text, not just ranges of lines or characters.[/li][li]Save or print just a portion of text within a file — for example a single function.[/li][/ul]

---

<div class="post-metadata">

**Author:** ![robert\_columbia](https://avatars.discourse-cdn.com/v4/letter/r/e79b87/32.png) [@robert\_columbia](https://boards.straightdope.com/u/robert_columbia)\
**Post date:** [September 19, 2011, 7:30pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/35 "2011-09-19T19:30:25Z")

</div>

Saint IGNUcius of the Church of Emacs blesses your computer.

[http://stallman.org/saint.html](http://stallman.org/saint.html)  
[![](https://stallman.org/saintignucius.jpg) ](https://stallman.org/saintignucius.jpg)

---

<div class="post-metadata">

**Author:** ![aceplace57](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/aceplace57/32/3500_2.png) [@aceplace57](https://boards.straightdope.com/u/aceplace57)\
**Post date:** [September 19, 2011, 7:34pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/36 "2011-09-19T19:34:57Z")

</div>

Edit is still available on PC’s from the command prompt. I use it frequently.

---

<div class="post-metadata">

**Author:** ![Chronos](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/chronos/32/134_2.png) [@Chronos](https://boards.straightdope.com/u/Chronos)\
**Post date:** [September 19, 2011, 7:55pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/37 "2011-09-19T19:55:31Z")

</div>

> [@](#):
>
> Quoth **JRagon** :
> 
> Vim –  
> Realizing you have to actually enter a special insert mode to type things, and the “normal” mode is for commands and patterns.

This is what always got me. People always say “Oh, you don’t need to learn any complicated commands in vi, unless you’re trying to do something really advanced”. But what they leave off is that for vi, “something really advanced” includes “editing text”. pico, unlike vi, really _does_ get out of your way, and is in my experience just as universally available. The only commands you ever _need_ to learn in pico are ^o to save, and ^x to quit, and those (along with a half-dozen other often-useful commands) are summarized right on the bottom of the screen.

If you open up pico and don’t know what you’re doing, you’ll be told as much as you need to know to do what you need to do. If you open up vi and don’t know what you’re doing, your only recourse is to close the terminal window. That’s not my idea of “no learning curve”.

I can understand the arguments for and against emacs (and most of them are the same arguments). But pico vs. vi is no contest.

---

<div class="post-metadata">

**Author:** ![minor7flat5](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/minor7flat5/32/258_2.png) [@minor7flat5](https://boards.straightdope.com/u/minor7flat5)\
**Post date:** [September 19, 2011, 8:02pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/38 "2011-09-19T20:02:26Z")

</div>

I wouldn’t mind if pico were universally available, though it is a bit constraining.

For a simple editor to do a quick tweak, it is much better than either emacs or vi.

And some environments (think [BusyBox](http://en.wikipedia.org/wiki/BusyBox)-style builds of Linux on embedded devices) provide only pico. I think the latest BusyBox has some emaciated form of vi though, but if you are traveling super light, pico is the ticket.

---

<div class="post-metadata">

**Author:** ![Simplicio](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@Simplicio](https://boards.straightdope.com/u/Simplicio)\
**Post date:** [September 19, 2011, 8:16pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/39 "2011-09-19T20:16:00Z")

</div>

> [@minor7flat5](#):
>
> And some environments (think [BusyBox](http://en.wikipedia.org/wiki/BusyBox)-style builds of Linux on embedded devices) provide only pico. I think the latest BusyBox has some emaciated form of vi though, but if you are traveling super light, pico is the ticket.

I think some minimal form of vi is required by the POSIX standard, but I could be wrong.

---

<div class="post-metadata">

**Author:** ![gotpasswords](https://avatars.discourse-cdn.com/v4/letter/g/c57346/32.png) [@gotpasswords](https://boards.straightdope.com/u/gotpasswords)\
**Post date:** [September 19, 2011, 8:24pm UTC](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765/40 "2011-09-19T20:24:37Z")

</div>

A side “benefit” to vi’s inscrutability is that if you make it hard for the “Oh, I can fix that!” crowd that really can’t (or shouldn’t!) fix it, it’s less likely that they’ll be able to do anything dangerous like edit config files.

Hopefully, anyone that knows how to invoke vi and use it will be less likely than the average user to bork something.

[Previous page](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765.md?page=1)

[Next page](https://boards.straightdope.com/t/why-does-anyone-use-vi/596765.md?page=3)
