3

更新:事实证明这是MacVim 中的一个错误(或者可能是一个尚未实现的功能)。


我正在尝试来自TextMate的 Vim 。TextMate 有一个 Ruby 插件,您可以在其中键入Control+ Command+ Shift+ E,它会找到文件中包含“# =>”的所有行,并使用该行的检查结果更新它们。

我找到了他们用来执行此操作的库,它称为 xmpfilter,并带有rcodetools

所以我可以通过键入“mzggVG:!xmpfilter -a”让 Vim 执行相同的行为,这将突出显示整个文件,进入最后一行模式,并将内容传递给 xmpfilter,然后用结果替换突出显示的内容。

但我想将它映射到 TextMate 使用的相同组合键,以便它具有相同的界面,因为这已成为我工作流程的重要组成部分。

以下是我如何尝试完成这项工作的一些示例

:nmap <silent> <D-C-E> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <S-D-C-e> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <SDC-e> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <S-<D-<C-e>>> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <SDC-e> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <S-><D-><C-e> mzggVG!xmpfilter -a<cr>'z

但这些都不能正常工作。似乎我无法弄清楚如何指定多个元键。(作为一个健全性测试,我已经验证它:nmap <silent> <S-e> mzggVG!xmpfilter -a<cr>'z确实有效。)任何帮助将不胜感激。

(注意:我在 Snow Leopard 上使用MacVim )

4

1 回答 1

2

如果我没记错的话,命令键由 D 而不是 M 表示(我相信 M 是 alt)。我想你会想用<S-D-C-e>. ** 注意:据我所知,命令键仅在您使用 GUI 时有效。

于 2011-02-13T03:42:29.023 回答