Vim:静默执行带范围的命令

Vim:静默执行带范围的命令

根据 vim 文档,:silent命令可以用来避免hit-enter迅速的。

问题是我想让接受范围作为输入的命令静音,但这不起作用,因为范围被传递给:silent命令而不是命令本身。


例子

要打开当前文件或选择中的 URL,我使用以下映射.vimrc

noremap <leader>u :w !urlview<cr>

在哪里:w !urlview通过管道将当前文件或选择传送至urlview标准输入。

现在,为了避免出现这样的hit-enter提示,我补充道:

noremap <leader>u :silent w !urlview<cr>

当通过选择调用时,正确响应:

E481: No range allowed

关于如何解决这个问题有什么线索吗?

答案1

您可以修改映射以插入:silent 初始输入:w命令,就像您在交互方式下输入以下命令时可能做的那样:

:noremap <leader>u :w<Home>silent <End> !urlview<CR>

相关内容