在 Vim 中,我可以在进入命令行模式时运行自动命令吗?

在 Vim 中,我可以在进入命令行模式时运行自动命令吗?

我想要运行的自动命令是

au CmdlineModeEnter * wall

但 CmdlineModeEnter 并不存在。我曾经定义过这样的映射

nnoremap : :wall<CR>:

效果很好,只是“:wall”闪烁明显,让人分心。有什么想法吗?

答案1

function! CmdlineEnter()
    silent! wall
    call feedkeys(":", 'n')
endfun

noremap <silent> : :call CmdlineEnter()<CR>

答案2

这有帮助吗?

nnoremap <silent> : :wall<CR>:

:help :map-<silent>

相关内容