gun*_*ert 27 command-line bash shortcut-keys
在虚拟终端中,我(不小心)按了Win+1并得到了一个新行,其中包含
(arg: 1)
Run Code Online (Sandbox Code Playgroud)
只要我一直Win按下,我按下的所有数字都会附加到括号中的数字,例如Winand 1+ 4yields (arg:14)
。
当我(释放Win)按任意键时,该字符将打印多少次,数字读取次数和(arg: ...)
表达式被标准提示替换。
有人知道这里发生了什么吗?
des*_*ert 32
这是一个数字参数,readline 库的一个功能内置于bash
:
digit-argument (M-0, M-1, ..., M--)
Add this digit to the argument already accumulating, or start a
new argument. M-- starts a negative argument.
Run Code Online (Sandbox Code Playgroud)
此功能使在当前编辑的命令行中添加或删除文本变得更简单。假设你想写echo gggg
:
echo
后跟空格4g
但是,您多久需要多次键入一个字母,这样才能节省任何东西?该功能主要是为 readline命令设计的,请参阅参考手册的第 8.2.1-8.2.3 章(“C”表示Ctrl,“M”表示 Meta)。
您可以使用 Meta 和 向后移动一个单词B,但是如果您想一次向后移动多个单词怎么办?您可以按住Alt并按B多次,也可以使用 digit 参数:
你的命令行有一个错字,后面五个字:
$ echo one two tree four five six seven?
Run Code Online (Sandbox Code Playgroud)按 Meta 键,键入5
并按 Meta 和B。中提琴:
$ echo one two ?ree four five six seven
Run Code Online (Sandbox Code Playgroud)您可以通过按 Meta 和 删除单个单词Backspace,但是如果您想一次删除多个单词怎么办?
你在命令行上忘记了一个词:
$ echo one two four five six seven?
Run Code Online (Sandbox Code Playgroud)按 Meta 键,键入4
并按 Meta 和Backspace。
$ echo one two ?
Run Code Online (Sandbox Code Playgroud)输入缺失的单词,后跟空格,然后按Ctrl+Y粘贴刚刚删除的内容。中提琴:
$ echo one two three four five six seven?
Run Code Online (Sandbox Code Playgroud)你是对的,你也可以像刚才解释的那样移动到那里而不删除任何东西。我们在 Linux 上,总是有几种方法可以做同样的事情。
什么是“否定论点”?它的作用相同,但方向相反,因此 Meta -2
MetaBackspace删除命令行的下两个单词。“但人们可以使用 Meta 1
MetaD来做同样的事情!” 很高兴你明白了,欢迎使用你的命令行。
进一步阅读:
归档时间: |
|
查看次数: |
3426 次 |
最近记录: |