如何在 vim 中扩展命令?
我想在两种情况下这样做,
- 在一个
:diffget
或:diffput
我总是想运行一个之后:diffupdate
- 之后
:NERDTreeToggle
我想运行一个<C-w>=
如何在 vim 中扩展命令?
我想在两种情况下这样做,
:diffget
或:diffput
我总是想运行一个之后:diffupdate
:NERDTreeToggle
我想运行一个<C-w>=
我不知道会为您的场景触发的任何 autocmd 事件。但是,一些自定义映射可能会有所帮助。
您可以更改默认值dp
和do
映射以执行: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>=
也许你可以看看vim 宏。它可能适合您想做的事情:)。
.vimrc
在包装多个命令的 VimScript 中创建您自己的自定义函数。
这是我使用几个插件在缓冲区中启动 Clojure Repl 的一个:
fun! LeinCMD()
execute 'ConqueTerm lein repl'
execute 'set syntax=clojure'
execute 'normal! i'
endf
command! Repl call LeinCMD()
然后我调用这个命令:Repl
(请注意,您的自定义命令必须始终以大写字母开头)。