我使用“标准”只是为了以防万一有一些明显的方法,或者此功能是我不知道的更大问题的一部分(例如可能涉及启用相关的快捷方式和功能)。否则我不介意添加我自己的快捷方式。
答案1
如果您的 shell 使用该readline
库,以下是我的默认文件中的内容/etc/inputrc
:
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
仅当未设置环境变量并且主目录中INPUTRC
没有任何文件时才会读取此文件。.inputrc
现在,我们必须指示控制台在按下 Ctrl-Left 组合键时发出字符串之一,并在按下 Ctrl-Right 组合键时发出字符串backward-word
之一。forward-word
为此,我们必须添加一些特殊的键盘映射/etc/console-setup/remap.inc
:
# Ctrl + Left arrows key (readline's backward-word)
control keycode 105 = F200
string F200 = "\033[5D"
# Ctrl + Right arrows key (readline's forward-word)
control keycode 106 = F201
string F201 = "\033[5C"
在这里,我借用了两个键符号F200
和F201
(从 的输出中准随机选取dumpkeys --long-info
)以存储 期望的序列readline
。keycode 105
是向左箭头,keycode 106
是向右箭头(这些键码dumpkeys
也是通过获得的)。
现在,让我们重建新的键盘映射:
setupcon --save-only
它应该(重新)创建该文件/etc/console-setup/cached.kmap.gz
。您可以使用以下命令手动加载它:
loadkeys /etc/console-setup/cached_UTF-8_del.kmap.gz
或者,更好的是,类似于机器启动时:
service console-setup start
2023 年更新
当前的 Debian 版本使用/etc/console-setup/cached_UTF-8_del.kmap.gz
而不是/etc/console-setup/cached.kmap.gz
.
答案2
对于 Linux 控制台,您可以自定义键盘映射。开始的地方是dumpkeys
。这就是标准方法。 Linux 控制台没有适用的标准绑定,但是你当然可以模仿GUI(即xhienne暗示的xterm)。
我没有看到重复的内容,但这些会很有帮助: