使用键绑定导航 Linux 命令行

举报
Tiamo_T 发表于 2022/09/11 23:51:21 2022/09/11
【摘要】 在本文 中,我们将了解命令行环境中提供的一些默认键绑定(以及如果您忘记了在哪里查看)。

键绑定只是特定键组合到操作的映射。

在命令行环境之外,我们都熟悉的键绑定如下:

  • Control-c:复制选定的文本
  • Control-v:粘贴复制的文本

在本文 中,我们将了解命令行环境中提供的一些默认键绑定(以及如果您忘记了在哪里查看)。
在 Linux 命令行中工作时,默认情况下有许多键绑定可用,以使导航和编辑更加容易。它们由名为 Readline 的工具提供支持。

以下是我经常使用的几个(如果您熟悉 Emacs 编辑器,您可能会看到相似之处):

运动键绑定

以下键绑定用于移动:

键绑定 描述
Control-a 将光标定位在行首
Control-e 将光标定位在该行的最后一个字符之后
Control-f 将光标向前移动一个字符(与箭头键的行为相同)
Control-b 将光标向后移动一个字符(与箭头键相同)

删除键绑定

以下键绑定用于删除:

键绑定 描述
Control-k 删除(包括)光标后的所有文本
Control-u 删除(不包括)光标之前的所有文本
Control-w 删除光标前的立即 WORD(一个 WORD 是任何连续的非空白字符的序列)
Control-h 删除光标前的字符(想想退格)
Control-d 当文本存在 => 删除光标下的字符时(想想删除)。当没有文本 => 退出 shell

历史键绑定

以下键绑定用于历史记录


键绑定 描述
Control-p 循环到上一个命令
Control-n 循环到下一个命令
Control-r 反向索引搜索(允许您键入命令的一部分。通过命令历史记录以相反的顺序搜索匹配的命令)

杂项键绑定

以下是一些杂项键绑定:

Keybinding Description
Control-l Clear display (similar to ‘clear’ command)
Control-j Execute current command (same as Enter/Return)
Control-c Cancel current command, return empty prompt
Control-/ Redo the last undone edit
Control-? Undo the last edit

.
要查看当前绑定和可用的键绑定和函数的完整列表,请使用“绑定”命令(当您忘记一个时,这是一个很好的快速参考):

$ bind -p

您将看到如下所示的输出:

"\C-g": abort
"\C-x\C-g": abort
"\e\C-g": abort
"\C-j": accept-line
…

这里的格式是:

key combination: binding

请注意,您将使用相同的格式来定义您自己的自定义键绑定。

请记住,您可以使用grep查找您感兴趣的绑定。

例如,要仅查看使用 Control 键的绑定:

$ bind -p | grep '\\C'

注意:在上述命令中,我必须转义 grep 字符串中的反斜杠 (\) 字符。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。