【问题标题】:Combine two vim commands into one将两个 vim 命令合二为一
【发布时间】:2011-09-30 23:40:31
【问题描述】:

我无法将两个 vim 命令,特别是 <C-w>s<leader>x 组合成 <leader>r(即拆分窗口和打开当前文件的对应项)。有什么帮助吗?

谢谢!

【问题讨论】:

  • 你试过为它写一个函数吗?您可以编写这样的函数(在.vimrc.vim/ftplugin 中):function SomeName() .. do stuff .. end function(带换行符)并映射函数map <leader>r call SomeName

标签: vim


【解决方案1】:

如果您发布您尝试过但没有成功的内容,将会有所帮助。一般来说,做你描述的应该很简单。将其放入您的 .vimrc 文件中就足够了:

nmap <leader>r <c-w>s<leader>x

这会将&lt;leader&gt;r 映射到键序列&lt;c-w&gt;s&lt;leader&gt;x。请注意,这些不是“命令”,正如您在问题中所说的那样,它们是“映射”。 “命令”在 vim 中是完全不同的东西,您可以通过 :help user-commands 阅读。

需要注意的一点是使用nmap 而不是nnoremap。命令nmap 将左侧的序列映射到右侧的序列,同时重新使用已经定义的映射。另一方面,nnoremap 使用键的原始含义创建映射,因此在您的情况下将不起作用(因为 &lt;leader&gt;x 是由某些插件定义的)。这可能是您尝试执行此操作时失败的原因之一,但我无法从您的问题中看出。

【讨论】:

    猜你喜欢
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多