[REBOL] Re: GVIM Editor
From: joel:neely:fedex at: 13-Mar-2002 7:10
Hi, Tim,
Tim Johnson wrote:
> To advocate for Chris here, I believe that emacs is an easier
> start than vim...
>
To be fair, I must admit that I've purchased the O'Reilly book
on GNU Emacs and plan to start (again) trying it out for some
things. However, I've never understood why some folks think
control-x control-f <filename>
is easier than
:e <filename>
to open a file, or why
control-b control-n control-p control-f
are easier than
h j k l
to move left, down, up, and right, respectively.
When I made the conscious decision years ago to learn vi
instead of emacs, it was solely for the pragmatic reason that
I found vi on more platforms that I was using than emacs.
That certainly isn't the case today, although it is still the
case that vi/vim has a much smaller footprint than emacs.
AFAICT, both allow you to start doing elementary text editing
with only about a dozen or so commands, and both probably have
more esoteric features than I will ever need in my lifetime.
Both are programmable (emacs in lisp, vim in perl -- and I
think I've seen references to a Python extension). The most
substantial difference that comes to mind is that vi/vim has
only two "modes"
- command mode: in which your keystrokes are interpreted as
commands telling vi/vim to manipulate or
move within your buffer, and
- insert mode: in which your keystrokes are interpreted as
data to be placed into the buffer;
while emacs has *lots* of modes, having to do with what kind
of data it assumes you are editing and whether it should be
doing context-dependent things (and allowing context-dependent
commands?) based on the kind of data (e.g. c source versus
lisp source versus English text, etc...)
> :set nowrap
>
I'm glad you mentioned that option, but I guess we should point
out that it makes the contents of the screen scroll horizontally
when moving through lines wider than the window, and some folks
find that distracting. In addition, it makes *very* deeply
indented lines look like blank lines if you are sitting at the
left-hand margin. However, as I said, I'm glad you brought it
up because it *IS* another option to consider.
-jn-
--
; sub REBOL {}; sub head ($) {@_[0]}
REBOL []
# despam: func [e] [replace replace/all e ":" "." "#" "@"]
; sub despam {my ($e) = @_; $e =~ tr/:#/.@/; return "\n$e"}
print head reverse despam "moc:xedef#yleen:leoj" ;