更新:原来是a bug in 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)
答案 0 :(得分:2)
如果我没弄错,命令键由D表示而不是M(M是alt我相信)。我想你想用<S-D-C-e>
。 **注意:据我所知,只有在使用GUI时才能使用命令键。