Post by JF MezeiPost by Bob HarrisAnd it is mostly a "Religion" because of "Finger Memory". We all prefer
the editor we know best. We change only because we are forced to
(changing jobs, old editor no longer available, etc...),
Yes, but there is such a huge productivity difference between line mode
editors (and their glorified versions such as vi) and full screen and gui editors.
vi is _NOT_ a line mode editor! Period. I know a line mode editors. I
have used them, on ASR-33 Teletypes. I've used them on IBM's TSO. I've
used SOS, I've used ed, I've used ex, I've used EDT line mode dialed in
via a TI-700 luggable terminal. I've used real line mode editors on
lots of systems. I do know the difference between a screen editor and a
line mode editor, and vi is most definitely _NOT_ a line mode editor.
Post by JF MezeiWith Vi, you need to type an escape,
So? I can also program any key I want to be the mode switching key. On
my Tru64 UNIX workstation, I use F9 (mostly because on the current
keyboard it is the same place as F11 on the 201 keyboard :-), but if i
want I can have any other key or dozen keys be the mode switch from
insert mode to command mode. So what? With a keypad based editor I
have to move my hand to the keypad to move the cursor, to cut and paste,
to do a text fill (OK, I can do Control/B type FILL Carriage Return,
which only means I've used TPU/EVE and I do know something about EVE)
Post by JF Mezeithen some command you wish to be done,
and then choose the command to put you back into text mode in the right mode.
You mean like select text, cut, copy, paste, move my cursor by a
character, word, end of word, line, beginning of line, end of line, half
screen, full screen, beginning of file, end of file, jump to the
beginning of the current function, enter a new variable declaration,
jump back to where you were came from, find the matching {} [] () #if
#elif #else #endif, search for text, search for next, search for
previous, select the word under the cursor as the search string, use the
word under the cursor to search the tags (or cscope) database and jump
to the source file with the definition of the function, structure,
variable, pop the tags stack and return to the place where you came
from, lookup the 'man page' for the function under the cursor, indent a
line by a shift width, unindent a line by one shift width, or a range of
lines, especially shifting entire if {...} range, or select a range and
reformat the indentation of the selected range, spell check, delete a
character, word, line, range of lines, lines between {...}, to beginning
of file, to end of file, to end of paragraph, to the searched for
string, do paragraph fill, paragraph filling on C source comments
maintaining proper C comment style, switch to a different window in a
split screen setup, switch to a different file when editing multiple
files, or back, set a mark or several marks that you can quickly return
to, etc...
You mean like one of those commands? Most of which only require I hit a
single key.
How is that different from moving your hand to the function keys,
hitting a single key, or hitting the DO key (or Control/B) and typing a
command?
And going back into insert mode can be hitting one of these keys: a, A,
c, C, i, I, o, O, R, s, S, each of which does a different function on
its way to insert mode.
How is this different from returning your command from the function keys
back to the main keyboard, and making sure your right index finger is
back on the 'j' key so when you type text it makes sense? Remember, in
vi/Vim my right hand has not left the keyboard and my index finger has
always been over the 'j' key (actually I find that my pinky finger is
most often the anchor finger, but when it has to move some other finger
is the anchor, but my right hand is always over the home keys).
Post by JF MezeiWith TPU, I type one key and continue typing
Sure after moving your hand. When I took physic I learned that the more
mass you need to accelerate and then stop and then reaccelerate and stop
again, the more energy was needed. You are moving your entire hand and
lower arm to get to that function keypad, and back again. I'm just
moving my fingers. Much less mass. So I'm being energy efficient, and
you are wasting the national resources to fuel your arm :-)
Also you assume that you only ever hit one key and then are back to
entering text. I spend a lot of time using the editor to review code,
looking to understand the code before making a modification, so I spend
a lot of time navigating around the sources. When I'm typing text I'm
not jumping in and out of insert mode every other character or even
every other word. And because when I do jump in and out, I've still
kept my hand in place, so while I may type escape (or alternate),
navigate operation, back into insert, I can do it very quickly because
my fingers are right there.
Post by JF MezeiI started off with line editors on decwriters on 300bps accoustic couplers. I
saw full screen editors on 3270 terminals and that made me realise how pityful
line editors (and the BASIC editors on commodore pets and apple II machines) were.
And so did I. Plus I've used EDT (5 years solid), EVE/TPU (still do at
least 4 or 5 times a week), I've used a TPU emulation of vi on OpenVMS
(6 years) and I did extensive modifications to the emulation in TPU, and
vi/Vim heavy duty for 12 years (18 if you count the time emulating in
TPU on OpenVMS). I do have first hand experience with all many of the
editors you mention, and I can say that vi (and Vim) are most definitely
_NOT_ line mode editors, and never were.
vi/Vim are just modal editors. The only difference between EVE/TPU and
vi is where the command keys are located on the keyboard. I have 118
function keys. You have about 23 function key and 4 arrow keys (I have
both sets too), and some of the F-number keys (those that are not
predefined by DECwindows that is; and I can use them too).
Post by JF MezeiI had a lot of trouble adjusting to insert-mode editors when I moved to the
MAC and found them to be rather lacking for editing programs. (lots of
Mac (MAC is an networking term :-)
Post by JF Mezeiswitching between mouse and keyboard).
Yea, I do not really like a mouse based editor. In fact heavy mousing
actually causes pain in my over used wrists. The touch pad on my Mac
iBook is marginally better, but just marginally and only for minor
mousing.
If I have to do heavy duty editing on my Mac, I will import the text
into vi (which is actually Vim on Mac OS X 10.3) and do all the heavy
lifting in vi/Vim, when done join all the lines of each paragraph into
one long line and then import it into AppleWorks or Word and do any last
minute font type formatting before printing or sending the document.
As far as I know you can't do that with TPU/EVE. But if you are not
doing cross platform editing, then that doesn't matter, or if you only
do minor editing on other platforms, you can live with whatever editor
the other platform offers.
Post by JF MezeiWhen I moved to VMS, I found TPU/EVE to
be a great mix of editing functions, with both insert and replace mode
available and definitely more programming oriented than text oriented.
I had VMS EDT access (1979-1985) before my first Mac and I loved EDT,
and was using vi for 3 years before I got my first Mac II in 1988.
Never really like using the Word processors for programming on the Mac
until I found a port of Vim for the Mac. Always felt the text editors
like BBEdit were just not powerful enough after using vi.
I found that vi was a natural as a programming editor. I had to do some
work to learn how to make it also a good text editor for writing specs
and such (that was how I learned how to use all the power features of
vi). Vim makes that job even easier and with better tags/cscope
support, syntax highlighting, side-by-side visual differences, Vim is a
fantastic programming editor.
Post by JF MezeiAnd when I moved to the GUI version of TPU, I added productivity tools and
didn't lose anything.
Moving to Vim from vi did the same for me.
Post by JF MezeiI consider my editor "life" to have been a constant evolution. Moving to vi
wouldn't be an evolution, it woudl be going back.
No one is asking you to move to vi. Your "Finger Memory" is TPU/EVE. I
might still be using EDT if my job change hadn't removed that as an
option for me. Maybe I might have switched to TPU/EVE and customized
the heck out of it. But vi came into my life first, and I found I liked
it.
Switching to vi/Vim would be a royal pain in the butt. Your "Finger
Memory" would fight you every stop of the way. You would be torn
between trying to learn how to do it better in vi/Vim, and accomplishing
the tasks your boss wants you to do. You would want some productivity
feature in vi/Vim to work the way your TPU/EVE feature worked, but it
would be different and the difference would annoy you. You would spend
a lot of time trying to program the function keys to do what you had in
TPU/EVE and find that you could only get 80% of the way there without
doing some serious customization that you don't have time to do.
But if you did learn it (and there are books to help with that), then I
think you would find that you would just find it different, and just as
powerful as TPU/EVE. Not a step backwards, just a different way to look
at the same problem (editing text and program source).
Although if you had no choice but to use vi, then choose Vim. Vim in
compatibility mode is often the vi editor on most Linux distributions as
well as Mac OS X. It is only commercial OS's like Sun, Tru64, HP-UX,
that seem to still ship the original vi and not Vim.
Bob Harris