我可以完全在终端Vim中使用`<cmd>`键吗?


Answers:


12

<D-> 仅适用于MacVim。

一个快速的谷歌将返回一堆黑客和第三方解决方案。我知道的所有解决方案都是在系统范围内或特定Cmd于应用程序的:如果仅在iTerm2中重新映射,您将如何打开新窗口或新选项卡?与……与…… 鼠标 ……

我无法想象有一个很好的理由将Cmd密钥重新映射到Mac上的任何东西。那太疯狂了。

Vim不是TextMate或您之前使用过的任何其他编辑器。不能空白地无缝转移所有旧习惯。

与其浪费时间尝试使Vim 终端变成不是不可能的东西,不如说应该明智地学习如何使用和定制Vim。您所有的Cmd+ Shift+ Ctrl+ Alt连击都不会带您到任何地方。特别是在Alt经常出现问题且Cmd无法使用的终端中。

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

  • 在所有平台上都是便携式的
  • 它不太可能与您的操作系统或终端仿真器发生冲突
  • 它打开了很多容易记住的可能性

哈哈,谢谢您的感谢,现在它要干净得多。
romainl 2012年

谢谢回复。我听说过,<leader>但不确定如何使用。我同意您关于可移植性的观点,这是我迁移到Vim的部分原因。谢谢。
jordelver 2012年

您可以在iTerm2中重新映射CmdControl,然后在同一窗口中添加快捷方式,以使用^t等打开一个新选项卡。然后一切正常!
肖恩·克拉克·赫斯

5

我发现iterm2在键盘设置中有一个选项可以执行这种操作。对于以下示例,我将命令输入映射为:wq

在此处输入图片说明在此处输入图片说明


谢谢您的解决方案。这就是我想要的。我了解<Leader>,但是我认为诸如保存文件之类的事情应该是通用的。
德米特里Biletskyy

4

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


你到底是怎么做到的?谢谢。
努诺斯岛2015年

不适用于我的0x13十六进制代码:/ imgur.com/RjxOoLY
michalzuber

有关如何执行此操作的信息,请参见下面的图片-感谢@jhickner的想法,请看iTerm2
Neil McGill

3

2016解决方案是使用Karabiner开源程序,该程序允许您以非常精细的粒度重新映射修饰符和其他键,例如

  • 仅重映射左键 ⌘ CmdOption键。
  • 仅针对特定应用程序重新映射密钥,例如,仅在Terminal,Emacs或虚拟机内部。

例如,以下是重新映射左键⌘ CmdCtrl 仅在Terminal内部使用的方法(并且不影响右键,以便您仍然可以使用例如⌘ Cmd + Tab在应用程序之间进行切换):

karabiner的屏幕截图


太棒了 现在,我可以在Vim中正确使用它了,尽管(左)command + tab并不是“ alt tab”。我可以使用正确的命令,但是仍然可以以某种方式保留它吗?
meder omuraliev
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.