我可以使用`` 在终端 Vim 中键入什么?

我可以使用`` 在终端 Vim 中键入什么?

接下来是我最近的另一个问题: 如何映射 <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终端中。AltCmd

考虑使用<leader>( :help leader) :

  • 它可以移植到每个平台上
  • 它不太容易与你的操作系统或终端仿真器发生冲突
  • 它开启了许多容易记住的可能性

答案2

我发现 iterm2 在键盘设置中有一个选项可以做这种事情。例如,我将 command-enter 映射为 :wq

在此处输入图片描述在此处输入图片描述

答案3

对于简单的命令,有一种解决方案是将适当的十六进制代码发送到终端。例如,我想通过按 保存在 vim 中cmd-s。我在 iterm2 中映射cmd-s以发送十六进制代码0x13,即 的代码ctrl-s,然后我在 vim 中映射ctrl-s:wq

答案4

2016 年的解决方案是使用登山扣开源程序,允许您使用粒度非常细, 例如

  • 仅重新映射左边 ⌘ CmdOption键。
  • 仅为特定应用程序重新映射键,例如仅在终端、Emacs 或虚拟机内部。

例如,以下是如何重新映射左键⌘ Cmd以充当Ctrl 仅限航站楼内(并且不影响正确的一个,以便您仍然可以使用例如⌘ Cmd + Tab在应用程序之间切换):

登山扣屏幕截图

相关内容