如何在控制台中使用 CTRL + 箭头键跳转到下一个或上一个单词?

如何在控制台中使用 CTRL + 箭头键跳转到下一个或上一个单词?

在终端仿真应用程序中,按CTRL+ Left/Right箭头可从一个单词跳转到上一个或下一个单词。是否有可能在 Linux 控制台中具有相同的功能,无论是文本模式还是帧缓冲模式?

在我的配置中,CTRL+ 箭头键被转换为转义字符序列并且不被解释。

答案1

Emacs 风格的快捷键Alt+ f, Alt+b默认适用于所有阅读线- 支持的命令行程序,如 shell。

答案2

当且仅当终端为Ctrl+Left与发送不同的转义序列时,这才是可能的Left。 Linux 控制台上默认情况并非如此(至少在我的机器上)。您可以通过修改键盘映射来实现。要修改的确切文件可能取决于您的发行版;在 Debian lenny 上,要修改的文件是/etc/console/boottime.kmap.gz.你需要像这样的行

control keycode 105 = F100
string F100 = "\033O5D"
control keycode 106 = F101
string F101 = "\033O5C"

您不妨选择与 X 终端模拟器相同的转义序列。要了解控制序列是什么,请在 shell 中输入Ctrl+ V Ctrl+ ;Left这会插入(在我的机器上)^[O5D转义^[字符。在键盘映射文件中,\033代表转义字符。

在终端中配置应用程序以解码转义序列是一个单独的问题。

答案3

这不是使用 Control + 箭头,但我可以在 Mac 终端中输入Esc B 后退一个单词并Esc F前进一个单词。

答案4

您可以将 vim 设置为命令行编辑器,然后按 ESC 并跳转 vim 样式(前进、后退、结束、$、0 等)

相关内容