CTRL在 bash 中,可以使用+移动到行首,使用+移动A到行末。如何按单词向前和向后移动?CTRLE
答案1
使用 emacs 绑定:
Meta-B向后移动一个单词并且Meta-F向前移动一个单词。
Ctrl-B向后移动一个字符并且Ctrl-F向前移动一个字符。
因此BvsF是向后与向前,而MetavsCtrl是单词与字符。
的确切映射Meta可能因键盘而异。尝试按住Alt另一个键的同时按下;如果不行,请按下并释放Esc,然后按下另一个键。
答案2
使用 alt+b 向后移动一个单词,使用 alt+f 向前移动一个单词。
答案3
普京~/.inputrc
:
# Ctrl+Left/Right 按整个单词移动。 "\e[1;5C": 正向词 "\e[1;5D":向后单词 # 与按下 Shift 相同。 "\e[1;6C": 正向词 "\e[1;6D":向后单词
showkey -a
在终端中会告诉您按下按键时终端发出了哪些 ANSI 代码,例如Ctrl+Right
我得到:
bash# showkey -a
Press any keys - Ctrl-D will terminate this program
^[[1;5C 27 0033 0x1b
91 0133 0x5b
49 0061 0x31
59 0073 0x3b
53 0065 0x35
67 0103 0x43
^[
是中的ESC
。你可以使用内置的 Bash 即时尝试:\e
~/.inputrc
bind
bind '"\e[1;5C": forward-word'
或者使用以下命令转储当前绑定:
bind -p