接下来是我最近的另一个问题: 如何映射<cmd>-<shift> -f在Vim中运行Ack插件?
可以完全<cmd>
在Vim中使用密钥吗?
如果Vim无法识别密钥,是否可以将密钥重新映射到Vim之外(以某种方式?)并映射到 Vim 中的密钥?
我在Lion与Vim 7.3上使用iTerm 2。
谢谢!
接下来是我最近的另一个问题: 如何映射<cmd>-<shift> -f在Vim中运行Ack插件?
可以完全<cmd>
在Vim中使用密钥吗?
如果Vim无法识别密钥,是否可以将密钥重新映射到Vim之外(以某种方式?)并映射到 Vim 中的密钥?
我在Lion与Vim 7.3上使用iTerm 2。
谢谢!
Answers:
<D->
仅适用于MacVim。
一个快速的谷歌将返回一堆黑客和第三方解决方案。我知道的所有解决方案都是在系统范围内或特定Cmd
于应用程序的:如果仅在iTerm2中重新映射,您将如何打开新窗口或新选项卡?与……与…… 鼠标 …… ?
我无法想象有一个很好的理由将Cmd
密钥重新映射到Mac上的任何东西。那太疯狂了。
Vim不是TextMate或您之前使用过的任何其他编辑器。不能空白地无缝转移所有旧习惯。
与其浪费时间尝试使Vim 和终端变成不是不可能的东西,不如说应该明智地学习如何使用和定制Vim。您所有的Cmd
+ Shift
+ Ctrl
+ Alt
连击都不会带您到任何地方。特别是在Alt
经常出现问题且Cmd
无法使用的终端中。
考虑使用<leader>
(:help leader
):
<leader>
但不确定如何使用。我同意您关于可移植性的观点,这是我迁移到Vim的部分原因。谢谢。
Cmd
到Control
,然后在同一窗口中添加快捷方式,以使用^t
等打开一个新选项卡。然后一切正常!
对于简单的命令,可以通过将适当的十六进制代码发送到终端来解决。例如,我想通过按保存在vim中cmd-s
。我映射cmd-s
到iterm2来发送十六进制代码0x13
,该代码是的代码ctrl-s
,然后映射ctrl-s
到:wq
vim中。
2016解决方案是使用Karabiner开源程序,该程序允许您以非常精细的粒度重新映射修饰符和其他键,例如
例如,以下是重新映射左键⌘ Cmd以Ctrl 仅在Terminal内部使用的方法(并且不影响右键,以便您仍然可以使用例如⌘ Cmd + Tab在应用程序之间进行切换):