我看到其他vimrc文件中有许多使用"function!"的用法,但是关于"function!"的易于查找的文档并不多。
"function"和"function!"之间有什么区别呢?
:help user-functions
如果这个名称的函数已经存在且未使用 [!] 标志,则会给出错误消息。 如果使用了 [!] 标志,则现有函数将被静默替换。 除非当前正在执行该函数,否则这是一个错误。
通常,它抑制命令可能输出的消息。
例如,使用function!
,您可以重新声明已定义的函数。
function
(带有适当参数)定义一个新函数,但如果已经存在给定名称的函数,则失败。 function!
将始终用提供的新定义替换任何现有的给定名称的函数。
这段话的意思是:
:help function