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

Ped*_*oto 13 linux keyboard-shortcuts terminal

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

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

ale*_*lex 26

Emacs 风格的快捷键Alt+ f, Alt+b默认情况下适用于所有由readline 驱动的命令行程序,例如 shell。


Gil*_*il' 11

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

control keycode 105 = F100
string F100 = "\033O5D"
control keycode 106 = F101
string F101 = "\033O5C"
Run Code Online (Sandbox Code Playgroud)

您不妨选择与 X 终端模拟器相同的转义序列。为了找出控制顺序是什么,类型Ctrl+ V Ctrl+Left的外壳; 这会插入(在我的机器上)^[O5Dwhere^[是一个转义字符。在keymap文件中,\033代表一个转义字符。

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