gpt4 book ai didi

vim - 我应该使用函数还是函数!在 vim 脚本中?

转载 作者:行者123 更新时间:2023-12-04 19:28:32 25 4
gpt4 key购买 nike

我想我理解functionfunction! 之间的区别:如果同名函数已经存在,function! 会默默地替换它, 但 function 会产生错误。

我最终总是使用 function!。因为如果我使用简单的 function 迟早它会返回并咬我:

E122: Function my_lib#MyHandyFunction already exists, add ! to replace it

在什么情况下应该使用简单的 function 而不使用 !

最佳答案

在脚本中,使用 :function! 没有坏处,但您应该使用 script-local (s:Foo)或自动加载范围的 (myscript#Foo) 函数来正确命名它们。因此,:function 的覆盖错误有助于提醒您重新定义全局 函数,但在脚本中,您不需要这种预防措施。

如果您想在开发过程中重新加载脚本(而不是重新启动整个 Vim),您必须使用:function!。 (像我的 ReloadScript plugin 这样的插件可以处理包含守卫。)

另一个经验点:我使用的大多数插件都使用:function!,可能是为了方便重新加载。

同样适用于 :command!:normal!,其中(通常)应该使用带有 ! 的版本。

关于vim - 我应该使用函数还是函数!在 vim 脚本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20422288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com