作者:yulongguxiang | 来源:互联网 | 2022-12-02 18:47
我发现很少有关于此的Stack Overflow问题,但它们都只涉及:nmap
or :noremap
命令。我想要一个命令,而不仅仅是键绑定。有什么办法可以做到这一点?
用例:
运行时:make
,不会自动保存。所以我想结合:make
和:w
。我想创建一个命令:Compile
/ :C
或:Wmake
实现这一目标。
1> Ingo Karkat..:
有关通过串联Ex命令的一般信息,请|
参见:help cmdline-lines
。
您可以将其应用于交互式命令,映射以及自定义命令中。
请注意,您只需要
在映射中使用特殊设置(避免过早得出映射定义并立即执行其余的操作,这是一个常见的初学者错误:):nnoremap :write | echo "This causes an error during Vim startup!"
。对于自定义命令,您只需编写即可|
,但请记住,哪些命令本身将其视为其参数。
:help line-continuation
将有助于处理过长的命令定义。将多个命令移到单独的命令中:help :function
也有帮助(但请注意,这会巧妙地更改错误处理)。
论点
如果要传递自定义命令行参数,则可以添加-nargs=*
到:command
定义中,然后通过来在右侧指定插入点
。例如,要允许命令:write
使用命令,可以使用
:command -nargs=* C w | silent make | redraw!