作为标题,假设我必须在 vim 中运行此命令<command> <argument>。
在我的.vimrc我设置let mapleader = ,
所以在正常模式下,如果我输入,ab然后 vim 将运行 command <command> ab。如果我输入,,xyz那么 vim 将运行 command <command> xyz。
怎么做?
当参数灵活时(即您不能像@svlasov 的回答那样只预定义一组映射),您可以定义一个不完整的映射,该映射保持在命令行模式,从而允许您使用<argument>. 唯一的缺点是你必须<Enter>在最后输入(但是 Vim 怎么知道参数何时完成?)
:nnoremap <Leader> :echo<Space>
Run Code Online (Sandbox Code Playgroud)
请注意,使用纯<Leader>映射是不好的;您不能轻易拥有任何其他映射;最好使用类似<Leader>e.
PS:你应该使用:noremap; 它使映射不受重映射和递归的影响。