当我打开一个PHP文件时,Neovim会设置
这很糟糕,因为
我创建了一个文件
nosmartindent
和indentexpr=GetPhpIndent()
。这很糟糕,因为
GetPhpIndent()
完全失效了,使得编辑体验成为一场噩梦,我必须不断修复每行的缩进。我创建了一个文件
$RUNTIME/after/ftplugin/php.lua
,其中包含以下内容:vim.bo.indentexpr = nil
vim.bo.smartindent = true
print("I APPLIED SOME SETTINGS!")
我添加了打印语句只是为了确认它被加载了,而且它确实被加载了。每次打开我的PHP文件时,我都会看到这段文本被打印。
然而,我的设置没有改变。设置仍然由运行时设置:
那么问题是因为我的lua文件不起作用吗?不是的,如果我在打开文件后源代码,在此之后,我的设置会被正确更新。
所以看起来Nvim的默认设置是在我的ftplugin文件之后应用的,在这种情况下,ftplugin的作用是什么呢?
救命啊!