在VIM中,“function”和“function!”有什么区别?

22

我看到其他vimrc文件中有许多使用"function!"的用法,但是关于"function!"的易于查找的文档并不多。

"function"和"function!"之间有什么区别呢?

3个回答

28

:help user-functions

如果这个名称的函数已经存在且未使用 [!] 标志,则会给出错误消息。 如果使用了 [!] 标志,则现有函数将被静默替换。 除非当前正在执行该函数,否则这是一个错误。


9

通常,它抑制命令可能输出的消息。

例如,使用function!,您可以重新声明已定义的函数。


6

function(带有适当参数)定义一个新函数,但如果已经存在给定名称的函数,则失败。 function!将始终用提供的新定义替换任何现有的给定名称的函数。

这段话的意思是:

:help function

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接