abi@dutinfd.UUCP (Ton Biegstraaten) (12/22/87)
First of all, I don't want to start a discussion about which editor is better, it is mostly a matter of style, but if you use a certain kind of editor you get blind for it's shortcomings. Changing from one kin to a completely different kind of editor makes you aware of them. This change made me aware of the shortcomings of vi but made me realize also what was missing in uemacs3.9(according to me). I am sure I am not the only one who has used 'vi' for a couple of years, because nothing better was available. I once tried uemacs3.7 but I dropped it. Now with 3.9e I am more content about what is availble. You type a lot more in emacs, but using function keys makes life pleasant. I can use 38 function keys on my atari. I stick to emacs now, somehow editing is more relaxed. But when changing from vi to emacs not everything gets better. I noticed already the multiple keystrokes, you can edit in vi while making a telephone call, that's impossible in emacs(:-). The undo facility in vi is far better than the one in uemacs3.9. I won't even call it an undo. Marking positions in vi with m<character> is more general than the mark set and the location of the cursor as the only possible marks. You should be able to directly move or copy a region to a buffer or copy a buffer to a mark. The facilities given by the line editor in vi are sometimes very difficult to produce in emacs, eg find lines with a certain string in it. Interchange in those lines two words. The regular expressions emacs understands are only a subset of those in vi. Deleting or changing up to or including a character in a line or positioning the cursor is more easily done in vi. The repeat last change command '.' is also very handy. Of these remarks the missing of undo is the most serious one, which can't be worked around. For complex editing operations you can always use a smart line editor. You should be able to let it work on an emacs buffer however. The keyboard macro can be used even more generally for repeating the last change. Explicit use of buffers as region stores can be done. But still all these changes seems useful. I hope these remarks may help to improve an already now very useful editor Ton Biegstraaten abi@dutinfd