更新:事实证明这是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 )