Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[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" ;