Ctrl +方向键和Shift +方向键的终端问题


10

我在新的Macbook Pro上运行Mavericks。当将CtrlShift键与箭头键一起使用时,会在终端中输出某种键控代码。我很确定这个问题是新问题,而且几天前没有发生。但我不确定100%。无论如何,这是会发生什么:

如果按Ctrl+ (向左箭头),;5D则在终端中输出。类似地:

  • Ctrl+ (向右箭头)输出;5C
  • Shift+ (向左箭头)输出;2D
  • Shift+ (向右箭头)输出;2C

正如我所提到的,我非常确定,在今天之前,我可以使用这些快捷方式在单词之间切换并选择文本。有没有人见过这个?我已经浏览了有关箭头快捷键的一些现有问题,但是我没有找到有关此确切问题的参考。

另外,请注意,我已经关闭了使用Ctrl+箭头键在桌面之间移动的键盘快捷键。


您的箭头键会重新映射到要使用的位置\],-(相当于十六进制5C 5D 2C 2D的ascii)。
l'l'l

您愿意详细说明吗?我是OSX的新手。我在哪里寻找这些重新映射?
HenrikSöderlund2014年

Answers:


8

我的10.9和10.8 VM上也发生了同样的事情。默认情况下,bash中的控制箭头和Shift-箭头不执行任何操作。您甚至在哪里使用Shift-箭头选择文本?emacs还是vim?

如果要使用control-left和control-right在bash中的单词之间移动,请将这些行添加到~/.inputrc

"\e[1;5C": forward-word
"\e[1;5D": backward-word

要使用移箭头在Emacs,地图升档到\e[1;2A,降档到\e[1;2B,移权\e[1;2C,和左移位来\e[1;2D。如果按上移会显示类似消息<select> is undefined,请尝试将设置TERMxterm-vt220


我想使用移位箭头选择文本可能是错误的。我是具有13年经验的开发人员,但这是我第一次进入OSX。到目前为止很困惑。
HenrikSöderlund2014年

找出.inputrc的东西。在各处寻找文件,直到我意识到自己必须创建它。:)我现在可以再次在单词之间移动。因此,非常感谢,我将此标记为答案。仅仅还有几个问题,所以我100%清楚:1:我现在改用iTerm2。是否可以使用.inputrc或其他方式获取Shift + Left和Shift + Right在iTerm2中选择文本?2:您提到了emacs和vim。这些不只是文本编辑器吗?我将如何使用它们作为终端?
HenrikSöderlund2014年

我不知道如何在iTerm 2中进行左移和右移修改选择。我想您可能只在Emacs中使用了它们。
Lri 2014年

好的。我现在必须没有它。谢谢!
HenrikSöderlund2014年

1
在macOS Sierra上不起作用,Shift +向右箭头或Shift +向左箭头不执行任何操作。
亚历山德罗(Alessandro C)

3

默认情况下,终端(macOS 10.12)中存在Ctrl +左/右(首选项→配置文件→键盘)。我尝试添加Shift / Up,~/.inputrc但没有任何反应。

~/.inputrc:

"\e[1;2A": shift-up
"\e[1;2B": shift-down

相反,我在终端首选项中以编程方式添加了Shift Up / Down。问题在于,该文件按配置文件存储的,默认情况下,macOS有12 个配置文件,因此您必须遍历所有配置文件(Ocean此处命名为一个)以添加所有可用配置文件的密钥。我不知道,如果plutil还是defaults有一定的魔法使这个容易,或者,如果你要使用XML解析器。

~/Library/Preferences/com.apple.Terminal.plist:

"Window Settings" = {
  Ocean = {
    keyMapBoundKeys = {
      "$F700" = "\033[1;2A";
      "$F701" = "\033[1;2B";

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.