在终端仿真应用程序中,按CTRL+ Left/ Right箭头从一个单词跳到上一个或下一个。在Linux控制台中,无论是文本模式还是帧缓冲模式,都可能具有相同的功能?
在我的配置中,CTRL+箭头键被转换为转义的字符序列且未解释。
在终端仿真应用程序中,按CTRL+ Left/ Right箭头从一个单词跳到上一个或下一个。在Linux控制台中,无论是文本模式还是帧缓冲模式,都可能具有相同的功能?
在我的配置中,CTRL+箭头键被转换为转义的字符序列且未解释。
Answers:
当且仅当终端为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"
您也可以选择与X终端仿真器相同的转义序列。要找出控制序列是什么,请在shell中键入Ctrl+ V Ctrl+ Left。这会插入(在我的机器上)转义字符^[O5D
所在的位置^[
。在键盘映射文件中,\033
表示转义字符。
在终端中配置应用程序以解码转义序列是一个单独的问题。
showkey
程序。该1;
部分与其余部分没有什么不同:"\033[1;5B"
依此类推。
keycode 105
可以使用找到showkey
。但是,您从哪里得到的F100
?
默认情况下,Emacs样式的快捷键Alt+ f,Alt+ b与所有由readline驱动的命令行程序(如shell)一起使用。
您可以将vim设置为命令行编辑器,然后按ESC并跳动vim样式(前进,后退,结束,$,0等)。
"\033O5D"
代码,而完全省略了从何处获取keycode 105
和F100
代码。此外,我得到^[[1;5B
和^[[1;5A
为CTRL +向下和Ctrl +向上。我应该如何处理1;
零件?