Bash:如何一次将光标向左移动一个单词?

Bash:如何一次将光标向左移动一个单词?

在 OSX 中,我可以按住option键并按左光标键,直到到达需要编辑的单词(或者在 Vi 中,我可以直接点击b,但我无法弄清楚如何在终端中执行此操作)然而...

答案1

要设置键绑定:您首先必须找出Ctrl+Left键序列创建的键代码。只需使用该命令cat关闭对现有按键绑定的任何干扰,然后键入按键序列即可。在我的系统(Linux)中,它看起来像这样:

$ cat
^[[1;5D

Ctrl+d退出 cat。现在您已经发现 Ctrl-Left 发出 6 个关键代码:

  • 转义 (^[)
  • [
  • 1
  • ;
  • 5
  • D

现在您可以发出绑定命令:

bind '"\e[1;5D": backward-word'

答案2

您想要的 bash 函数是backward-word.您可以运行bind -q backward-word以获取绑定到该函数的键列表。一种常见的绑定是Esc+b

此外,许多终端支持Ctrl+ Left(您可以在 X 中使用相同的热键按单词向后跳转)

答案3

Bash 中的默认快捷键backword-wordAlt+ b。使用Esc+可以获得相同的结果b。您应该在编辑键绑定之前尝试一下。

使用bind命令编辑或bind -q [name]获取特定操作的当前按键绑定。

相关内容