有没有办法在安装的Bash控制台中启用 Ctrl + ← / →键盘快捷键(转到上一个/下一个字)用MSysGit?
答案 0 :(得分:50)
在Bash提示下,按 Ctrl - v Ctrl - 左箭头和 Ctrl - v Ctrl - 右箭头并记下输出。您应该看到类似的内容:^[OD
和^[OC
或类似内容。将以下行添加到~/.inputrc
:
"\eOC": forward-word
"\eOD": backward-word
您将\e
替换为转义(^[
)以及您获得的其他字符(OD
,OC
或类似字符。)
要重新读取文件并立即激活更改,请按 Ctrl - x Ctrl - r
答案 1 :(得分:29)
我在AskUbuntu上找到了this answer,但在没有这些答案之后,这对我有用。我会在这里重新发布。
~/.inputrc
和/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
如果您在/etc/inputrc
中有这些内容,文件需要包含在~/.inputrc
中,请检查它是否包含以下内容:
$include /etc/inputrc
答案 2 :(得分:11)
没有真正回答你的问题,但你可以尝试 ALT - F 和 ALT - B 。
答案 3 :(得分:6)
这在Windows 7中对我有用:
将此添加到~/.inputrc
然后重新启动控制台,它应该适合你。
这使得你可以使用
CTRL + ←或 CTRL + →
或者
ALT + ←或 ALT + →
## Windows msysgit
## Alt + right/left
"\e\e[C": forward-word ### Alt + right
"\e\e[D": backward-word ### Alt + left
## Ctrl + right/left
"\e[C": forward-word ### Ctrl + right
"\e[D": backward-word ### Ctrl + left
答案 4 :(得分:3)
添加到我的〜/ .inputrc
"\e[1;5C": forward-word
"\e[1;5D": backward-word
对我来说已经足够了。
答案 5 :(得分:2)
对于那些为什么它不适用于 ctrl + 左箭头和 ctrl + 右箭头< / KBD>
这是因为Windows 7,其他人和msys的错误,其中 ctrl 键无法被识别(至少在我的情况下)。
要检查您是否处于相同的情况,请执行@Dennis所说的话:
仅按左箭头重复。
如果它们相同,欢迎来到我的世界。您现在可以使用Autohotkey重新映射密钥或使用较新的windows git bash。
答案 6 :(得分:1)
我编辑了文件/ etc / inputrc:
sudo gedit /etc/inputrc
并评论 out 以下行:
$if term=rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif
然后我编辑了文件〜/ .bashrc:
sudo gedit ~/.bashrc
并在底部添加以下行:
#### enable Ctrl+Left , Ctrl+Right keybindings:
bind '"\e[1;5C":forward-word' # Ctrl+Right
bind '"\e[1;5D":backward-word' # Ctrl+Left
它似乎有效,至少到目前为止,没有副作用。
(在Ubuntu GnomeShell Remix 12.04 AMD64上测试)