我看了很多网上资源提到Ctrl
几个以+开头的复合快捷键X
:
Ctrlx Ctrle:编辑 $EDITOR 程序中的当前行,如果未定义则编辑 vi。
Ctrlx Ctrlr:读取 inputrc 文件的内容,并合并其中找到的任何绑定或变量分配。
Ctrlx Ctrlu:增量撤消,每行单独记住。
Ctrlx Ctrlv:显示当前bash实例的版本信息。
Ctrlx Ctrlx:将光标替换到原来的位置。 (Cx,因为 x 具有交叉形状)。
但我找不到一个官方文档源来列出所有可能的Ctrl
+ X
+<something>
组合,而且我什至不知道查找 man of: is is bash? 的工具是什么?阅读线? xterm?
那么Linux 终端中这些复合Ctrl
+ X
+快捷方式到底是如何处理的呢?<something>
答案1
linux 终端直接处理的字符可以用 列出stty -a
。其他任何事情都由您正在运行的应用程序处理,并且按键序列的列表应位于该应用程序的文档中。
这里最有可能涉及的应用程序是您的 shell。大多数现代 shell(包括 bash、zsh 等)要么使用 readline 库,要么自行实现行编辑。 readline 库和大多数在没有 readline 的情况下执行此操作的 shell 从emacs
编辑器中派生出它们的按键序列(尽管 vi 绑定也可能可用),特别是以 开头的ctrl-x来自 emacs 的按键序列,以及C-x特别的符号(对于 ctrl- x) 来自 emacs 文档。 (只是为了澄清——除非您正在运行 emacs,否则 emacs 不会执行此操作。应用程序只是复制了功能以供自己使用。)
答案2
处理Ctrl
+ X
+<something>
等更多内容的是“readline”库,涵盖它的文档可以在GNU 重击者。
Ctrl
+快捷键<something>
的描述有些神秘,C-<something>
因为 Control 键的名称可能因您的计算机而异。
另请参见/etc/inputrc
和 可能/etc/inputrc.keys
。