Press alt + numeric in bash and you get (arg [nume

2020-05-11 04:15发布

问题:

Press alt + numeric in bash and you get (arg [numeric]) what is that?

(This type of question is better suited for asking a human, instead of trying to "guess" for the correct terminology to search on the documentation via internet).

回答1:

The term you want to google for is:

"readline arguments"

This will lead to, for example, this chapter from the bash reference manual:

You can pass numeric arguments to Readline commands. Sometimes the argument acts as a repeat count, other times it is the sign of the argument that is significant. If you pass a negative argument to a command which normally acts in a forward direction, that command will act in a backward direction. For example, to kill text back to the start of the line, you might type 'M-- C-k'.

The general way to pass numeric arguments to a command is to type meta digits before the command. If the first 'digit' typed is a minus sign ('-'), then the sign of the argument will be negative. Once you have typed one meta digit to get the argument started, you can type the remainder of the digits, and then the command. For example, to give the C-d command an argument of 10, you could type 'M-1 0 C-d', which will delete the next ten characters on the input line.

For that to work, you have to know where the Meta key is mapped: sometimes it's Alt, sometimes it's Esc, cool computers have a dedicated Meta key ;)

For those not familiar with the syntax, 'M-- C-k' is the equivalent of Meta_key+- Ctrl+k. "M" is shorthand for the Meta key, which, as noted, varies by system, "C" is shorthand for the Ctrl key. The "-" after a character (like "M-") is not something you type, it's a way of indicating simultaneous key presses.



回答2:

In order to repeat numeric characters - e.g. 128 zeroes, hit the following:

Meta-key + 1 2 8 Ctrl + v 0



回答3:

Try this. Type Alt 4, then type T, then hit Enter.

Edited to use the snazzier HTML.



回答4:

It repeats the next command given that many times, same as in Emacs. E.g. M-1-0 C-p moves back 10 history items. M-4 C-h backspaces four characters, M-3 M-t moves the previous word forward three times, and so on. Here I use M- meaning "meta" for the Alt key, as is the custom in Bash.



回答5:

I know this has already an accepted answer however I did find some useful examples that also demonstrate additional uses aside from simple repeating of characters. The digit arguments can apply to all sorts of things. For example the sequence "Alt+3, Escape, Backspace" will delete backwards 3 words.



回答6:

I don't know but when you do alt + numeric and then you press a character, you'll get num caracters: (arg: 123) + a -> 123 times "a"



回答7:

bash manual section - basically a way of repeating readline commands, or reversing them.