接下来是我最近的另一个问题: 如何映射 <cmd>-<shift>-f 以在 Vim 中运行 Ack 插件?
<cmd>
是否可以在 Vim 中使用该键?
如果 Vim 无法识别该键,是否可以在 Vim 之外将该键重新映射到其他键上(以某种方式?)并映射那Vim 中的键?
我在 Lion 上使用带有 Vim 7.3 的 iTerm 2。
谢谢!
答案1
<D->
仅适用于 MacVim。
快速谷歌一下就会返回一堆黑客和第三方解决方案。我知道的所有解决方案要么适用于整个系统,要么特定于应用程序:如果你Cmd
只在 iTerm2 中重新映射,你将如何打开新窗口或新选项卡?用...用...老鼠?
我实在想不出有什么理由将Cmd
按键重新映射到 Mac 上的任何位置。那太疯狂了。
Vim 不是 TextMate 或您以前使用过的任何其他编辑器。无法无缝地直接转移您的所有旧习惯。
不要浪费时间尝试制作 Vim和您的终端变成了它本来不该有的样子,您应当学会明智地使用和自定义 Vim。所有Cmd
+ Shift
+ Ctrl
+组合都不会带给您任何结果。尤其是在经常出现问题且无法使用的Alt
终端中。Alt
Cmd
考虑使用<leader>
( :help leader
) :
- 它可以移植到每个平台上
- 它不太容易与你的操作系统或终端仿真器发生冲突
- 它开启了许多容易记住的可能性
答案2
答案3
对于简单的命令,有一种解决方案是将适当的十六进制代码发送到终端。例如,我想通过按 保存在 vim 中cmd-s
。我在 iterm2 中映射cmd-s
以发送十六进制代码0x13
,即 的代码ctrl-s
,然后我在 vim 中映射ctrl-s
到:wq
。
答案4
2016 年的解决方案是使用登山扣开源程序,允许您使用粒度非常细, 例如
- 仅重新映射左边 ⌘ Cmd或Option键。
- 仅为特定应用程序重新映射键,例如仅在终端、Emacs 或虚拟机内部。
例如,以下是如何重新映射左键⌘ Cmd以充当Ctrl 仅限航站楼内(并且不影响正确的一个,以便您仍然可以使用例如⌘ Cmd + Tab在应用程序之间切换):