2

如何在 vim 中扩展命令?

我想在两种情况下这样做,

  1. 在一个:diffget:diffput我总是想运行一个之后:diffupdate
  2. 之后:NERDTreeToggle我想运行一个<C-w>=
4

3 回答 3

3

我不知道会为您的场景触发的任何 autocmd 事件。但是,一些自定义映射可能会有所帮助。

您可以更改默认值dpdo映射以执行:diffupdate

nnoremap dp dp:diffupdate<cr>
nnoremap do do:diffupdate<cr>

请注意,有时您不能使用dp和/或do必须使用:diffput/ :diffget。在这些情况下,我建议您创建如下命令:

command! -nargs=? -range=1 -bar Diffput <line1>,<line2>diffput <args>|diffupdate
command! -nargs=? -range=1 -bar Diffget <line1>,<line2>diffget <args>|diffupdate

或者你可以只映射:diffupdate

nnoremap <f8> :diffupdate<cr>

书呆子树

nnoremap <leader>N :NERDTreeToggle<cr><c-w>=
于 2013-04-17T16:31:16.337 回答
0

也许你可以看看vim 宏。它可能适合您想做的事情:)。

于 2013-04-17T16:09:42.413 回答
0

.vimrc在包装多个命令的 VimScript 中创建您自己的自定义函数。

这是我使用几个插件在缓冲区中启动 Clojure Repl 的一个:

fun! LeinCMD()
    execute 'ConqueTerm lein repl'
    execute 'set syntax=clojure'
    execute 'normal! i'
endf
command! Repl call LeinCMD()

然后我调用这个命令:Repl(请注意,您的自定义命令必须始终以大写字母开头)。

来源:自动运行几个 vim 命令和击键

于 2013-04-17T16:12:21.560 回答