一些 Vim 函数在一定范围内工作:
:'<,'>TOhtml
Run Code Online (Sandbox Code Playgroud)
第一个命令取一个范围,后面的命令通过管道传输结果,其语法是什么?
在wiki的评论中,它建议使用一个插件来允许所有命令在该范围内运行;但在这里我只需要第一个参数来处理范围。
# These are the commands I am attempting to chain
:'<,'>TOhtml
:w! ~/mylink
:q!
# The last two can chain or be one command
:w! ~/mylink | q!
:wq! ~/mylink
# But these fail
:'<,'>TOhtml | wq! ~/mylink
:execute "'<,'>TOhtml" | "wq! ~/mylink"
Run Code Online (Sandbox Code Playgroud)
使用execute是一种可行的方法,但您只需引用 for 命令:execute,而不是第二个命令。
即替换:
:execute "'<,'>TOhtml" | "wq! ~/mylink"
Run Code Online (Sandbox Code Playgroud)
有了这个:
:execute "'<,'>TOhtml" | wq! ~/mylink
Run Code Online (Sandbox Code Playgroud)