The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
Fog Creek Copilot

The Old Forum

Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones


I don't remember if we're allowed to talk about VI. I have been using VI every day all day for less than a year, but more than 6 months. I still hate it but I hate it a little less as time goes on. My reason for using VI all the time is that I work on a lot of different machines and VI is always there wherever you go. I could just edit the files locally in whatever editor I want and then copy them, I guess.
I have the commands hanging on the wall and every once in a while I try to memorize another one.
Yes it makes my job even less fun than it is, but some day I will actually have VI memorized, and maybe then I will like it as much as Emacs.
The Real PC
Wednesday, October 20, 2004
Uh, ok.
Wednesday, October 20, 2004
I don't know what VI is.  I think its the number 6 or something.  But 'vi' is a "modal" editor.  It has 2 modes:

1. When it beeps.
2. When it does not beep.
hoser Send private email
Wednesday, October 20, 2004
I had to love it when Jim Allchin got on stage at the PDC and wrote some code using vi....
Michael Kale Send private email
Wednesday, October 20, 2004
The first rule of vi is ....
Wednesday, October 20, 2004
The first rule of vi is .... to not talk about vi_club.
The second rule of vi is to beep.
The third rule of vi is .... to not talk about vi_club.
Wednesday, October 20, 2004
If you are making vi beep all of the time, then you are not very good at using vi.

Also, vim has some very nice enhancements, and runs on pretty much any computer. See
Wednesday, October 20, 2004
> beeping

Lol, I am a big advocate of visual beeping (flash instead of beep). you can do this by operating your xterm or console within a screen multitasker (google screen). If you read up on the command options for xterm you can also turn off beeping. Beeping sucks--I know.

Screen will also give you cut and paste between terminals. This increases flows because it reduces gratuitous mouse work (and mouse mistakes, middle click at the wrong time or with the wrong selection can be devestating). If you use multiple xterms, the mouse will do the cut and paste between windows, if you move all your terminal sessions into screen, you don't have to use the mouse as much.

Vim is critical (don't use straight vi) because it has macros, multi-undos, "visual" selection, buffer panes (think MDI), a (insanely laid-out, but useful) help manual, and programmer-friendly. However despite its power many prefer emacs (probably for good reasons, lol).

I find the combination of screen + vim powerful and useful for the weekend programmer--except it's just too much keyboard action to get the odd thing done. You should tape up a small selection of features you think are most useful (but you always forget the keys for). What it will buy you is you get to keep your fingers in the qwerty position and that brings you flow. If you notice editors like EditPlus and Visual Studio .Net also strives to give you less distractions. If you make webpages or do ASP.NET in these editors you never have to leave the qwerty position if you know what you are doing.

In X Window, if you swap out your default disney land window manager (Gnome/KDE) and go to something simple (rat poison/ion/a simple Gnustep step up) you'll furthur increase flow. Flow is important, I can't get significant work done other-wise.
[NOT MSFT] Send private email
Wednesday, October 20, 2004
In my experience, vi is worth learning.  It may not become everyone's favorite text editor, but it is worth at least trying.  If nothing else, its unusual paradigm can be mind-expanding.
Brent P. Newhall Send private email
Wednesday, October 20, 2004
I've only ever needed one command for vi

fool for python
Wednesday, October 20, 2004

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz