Remote unix text editing (Was: Why is there no or or and ?)

Nick Sabalausky a at a.a
Sat Feb 18 19:31:46 PST 2012


"H. S. Teoh" <hsteoh at quickfur.ath.cx> wrote in message 
news:mailman.527.1329589896.20196.digitalmars-d at puremagic.com...
> On Sat, Feb 18, 2012 at 12:10:48PM -0500, Nick Sabalausky wrote:
>
> [...]
>> If I'm using a server that doesn't already have ssh set up (for
>> instance, if I'm actually setting up ssh) *then* I'll either use
>> nano/pico or, if I can, I'll install mcedit which is the closest I've
>> seen to what I would consider a nice text-mode editor.
> [...]
>
> I used to hate vi and its variants because of modality, which I just
> couldn't understand how anyone could consider as *not* a handicap.
>

For most of these things you mention, I'd argue a modal editor like vi isn't 
really necessary. For instance I use Programmer's Notepad 2 (Windows-only, 
unfortunately) which is a "normal" word-processor-style GUI editor, and with 
it:

> But I have to say, after having actually used it for quite a number of
> years now, I simply can't bear to go back to pico. Being able to move in
> text by words

Ctrl-Left, Ctrl-Right

> or blocks or even matching parentheses/brackets/braces
> with just a keystroke or two,

I'm not sure if PN2 in particular does this, but I know that's fairly common 
in many typical non-VI/non-emacs editors.

> or apply complex commands (like regexes)
> to large blocks of text at a time (thus effecting a very large change
> *reliably*),

PN2 has regex find/replace. VS has it, too, and I'm sure many others. I 
agree, it *is* a fantastic thing to have.

> going back to pico is like going back to a 50-year-old
> screwdriver with a loose handle after having used a power drill. It
> makes me feel so crippled.
>
> Part of what makes vi useful is that many of its commands can deal with
> logical units greater than a single character. So you can, e.g.,
> navigate by words

Like I said, Ctrl-Left, Ctrl-Right

> or paragraphs

Not sure what that means in the context of code...? But I have the standard 
PgUp/PgDn/Home/End, FWIW.

> or matching braces (extremely useful for
> moving around in code) with just one or two keystrokes,

Again, fairly common even outside VI.

> replace a word
> without needing to count how long it is,

Replace following word: Shift-Ctrl-Right, Type new word
Replace preceding word: Shift-Ctrl-Right, Type new word
Replace random specific word: Double-click, Type new word

> cut-n-paste n paragraphs (or words, etc.)
> around without needing to actually traverse them. In pico
> you'd have to select, then hit down X number of times per paragraph,

Or mouse on most editors, which really isn't as bad as people make it out to 
be. (But maybe it's just because I'm on a trackball.)

> before you can actually cut. In vi, you just type "d5}" to delete 5
> paragraphs,

Yea, but that way, you have to actually count out what you need. Personally, 
I'd much rather traverse.

> then use '/' (search) to find the reinsertion point, and
> then 'p' to paste everything in there.

Ctrl-F: Quick find (not the default, but that's how I have it set up)
Esc, Ctrl-V

Yea, there's the Ctrl and Esc, but it's not so bad.

> You can also say, "cut to end of
> file" with just two keystrokes: "dG".

Shift-Ctrl-End, Ctrl-X

This works, too:

Shift-Ctrl-(End, then X)

> My favorite is "replace up to
> closing parenthesis": "c/)<ESC>replacement_text<ESC>". Very useful for
> editing code without needing to recount parentheses.
>

Assuming one of the many editors that supports "jump to paren" and such 
things:

Shift-Ctrl-(whatever key it is), replacement_text

> Furthermore, being able to tell the editor to repeat a (set of) commands
> n times is very useful, instead of having to manually repeat it
> yourself.

Yea, admittedly that's not very common with "normal" editors, unless you 
count editor scripting (PN2 uses Python). But there's nothing stopping them 
from enhancing that with macro recording/playback.

> Having logical units is useful here, e.g., you can repeatedly
> replace words of different lengths with a replacement word without
> needing to worry about mismatching lengths.
>

Again, Shift-Ctrl-Left/Right, or Shift-(whatever other navigation 
keys/shortcuts you happen to have available).

> Similarly, pico can in principle do everything that vi does too,

Even *I* very much doubt that ;) Pico's benefit is that it's at least usable 
by people who are used to the typical word-processor-style editors. But 
feature-rich it certainly ain't (unless it's all hidden somewhere?).

> just that vi gets you there with less pain.
>
> Just my $0.02.
>

Yea. I'm not saying that VI isn't nice for those who have learned it and 
like it. But I don't think the typical eclipse/word-processor-style editors 
are much, if at all, behind on the tricks you describe. Certainly not 
impossible in theory (I can easily imagine an editor allowing 
"Ctrl-{number}-Right" for "Move {number} words to the right").

It sounds to me like the difference isn't so much "modal vs modeless" as it 
is whether you escape to the special modes by pressing a key or by holding a 
key. VI: Press a key. Others: Hold a key. The "Hold a key" is easier for new 
users since the mode always "snaps back" whenever you let go (or when you 
press Esc, if you're using something like Quick Find). But I understand that 
some people can get used to VI's...umm..."persistent" modality.




More information about the Digitalmars-d mailing list