Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This reminds me of an excerpt from an old Emacs manual:

    . . . if you forget which commands deal with windows, just type @b[ESC-?]@t[window]@b[ESC].
This weird command is presented with such a benevolent innocence as if it's the simplest thing in the world.

I think the better advice for command-line editing would be to set up the mouse.

 help



I have yet to see a shell that has mouse enabled line editing support. It should certainly be possible though.

I do prefer vi bindings at the same time though. Vi bindings and mouse support complement each other well, you don't have to choose one or the other, just use whichever feels most natural and convenient in that exact moment.


I think modern terminal emulators and readline-based shells support it.

This is not to say that there's nothing to improve. Multiline editing experience suffers, and non-readline shells aren't supported. Those problems were solved by Plan 9 (at the cost of dropping xterm compatibility), but the mainstream hasn't yet adopted those solutions.


> This weird command is presented with such a benevolent innocence as if it's the simplest thing in the world.

I think it's a question of context and familiarity. To a vim user, like me and, I assume, ahmedfromtunis, their examples do indeed seem simple and natural. Presumably, to an emacs user, the example you quote (if it's quoted literally—I don't use emacs and can't even tell) is just as natural, and assuming some comfort with emacs is presumably OK in a manual for the software!


> assuming some comfort with emacs is presumably OK in a manual for the software!

How do you get familiar with the software, if the manual expects you to be an expert in it already?


Not sure if it did at the time, but today emacs comes with a tutorial. You’re not expected to learn it by starting on page 1 of the manual.

Why not? I expect to learn how to use a software by reading its manual.

Surely you can still do that, but starting with the tutorial will be easier and more efficient.

I got familiar with vi by reading a book that had the main vi commands listed out. First learnt how to quit without saving changes, the rest was just practice.

> How do you get familiar with the software, if the manual expects you to be an expert in it already?

It's surely to the detriment of the manual if the first sentence on the first page assumes you already know the software, but, if nowhere in the manual can it address expert users, then the manual isn't going to be very useful for expert users—and it should be!


By reading introductory material.

The example confusingly includes some weird markup. It's just saying press `ESC-?` then type "window" to search for window commands. These isn't even valid in modern Emacs. The equivalent is `C-h` followed by `a` then type "window".

I think you're confused by the markup. It looks like it's saying Alt-? (Alt and Esc are interchangeable due to terminal reasons) to open up the help search and then type 'window' to search for window commands. Sounds pretty simple to me

Indeed, @b[] is for bold, and @t[] is for something else. The joke falls apart, and somehow a piece of my identity goes with it. But thanks for clarifying.

For a bit about the language, read `3bcw` as move `b`ackward by `3` words and `c`hange the `w`ord under the cursor.

The general form of `b` is `[count]b` where

    [count] An optional number that may precede the command to multiply
            or iterate the command.  If no number is given, a count of one    
            is used, unless otherwise noted.  Note that in this manual the
            [count] is not mentioned in the description of the command,
            but only in the explanation.  This was done to make the
            commands easier to look up.  If the 'showcmd' option is on,
            the (partially) entered count is shown at the bottom of the
            window.  You can use <Del> to erase the last digit (|N<Del>|).

    b       [count] words backward.  |exclusive| motion.
https://vimdoc.sourceforge.net/htmldoc/intro.html#[count]

https://vimdoc.sourceforge.net/htmldoc/motion.html#b

For `c` it’s

    ["x]c{motion} Delete {motion} text [into register x] and start
                  insert.  When  'cpoptions' includes the 'E' flag and
                  there is no text to delete (e.g., with "cTx" when the
                  cursor is just after an 'x'), an error occurs and
                  insert mode does not start (this is Vi compatible).
                  When  'cpoptions' does not include the 'E' flag, the
                  "c" command always starts insert mode, even if there
                  is no text to delete.

    {motion} A command that moves the cursor.  These are explained in
             |motion.txt|.  Examples:
                 w           to start of next word
                 b           to begin of current word
                 4j          four lines down
                 /The<CR>    to next occurrence of "The"
https://vimdoc.sourceforge.net/htmldoc/change.html#c

https://vimdoc.sourceforge.net/htmldoc/intro.html#{motion}




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: