Makefile machit.vim不';行不通
给定以下简单的Makefile:Makefile machit.vim不';行不通,vim,makefile,match,Vim,Makefile,Match,给定以下简单的Makefile: #Makiefile ifeq(,) else endif 根据,只包含这个matchit.vim文件就足够了,它可以在捆绑的插件中找到 不幸的是,它不适合我。最初,我认为我的其他插件可能与matchit冲突。然而,vim的空设置也不起作用。根据matchit的文档,它需要b:match_单词在它们之间循环。由于matchit.vim是一个全局插件,因此在相应的文件类型插件中定义了b:match_单词。已在vim.vim中验证,可在标准运行时目录中找到 我错过
#Makiefile
ifeq(,)
else
endif
根据,只包含这个matchit.vim文件就足够了,它可以在捆绑的插件中找到
不幸的是,它不适合我。最初,我认为我的其他插件可能与matchit冲突。然而,vim的空设置也不起作用。根据matchit的文档,它需要b:match_单词在它们之间循环。由于matchit.vim是一个全局插件,因此在相应的文件类型插件中定义了b:match_单词。已在vim.vim中验证,可在标准运行时目录中找到
我错过什么了吗
PS:现在,我必须将它添加到我的本地make.vim中,以使其正常工作
#make.vim
let b:match_words='\<ifeq\>:\<else\>:\<endif\>'
#make.vim
让b:match\u words='\:\:\'
makefile的文件类型是make
。在我最近的$VIMRUNTIME/ftplugin/make.vim
(日期2006年6月17日
)中,b:match_words
没有定义
因此,您确实必须将这些定义添加到自己的配置中,最好是在~/.vim/after/ftplugin/make.vim
中
" matchit.vim
if exists("loaded_matchit")
let b:match_words =
\ '\<if\(n\)\=\(eq\|def\)\>:\<else\>:\<endif\>,' .
\ '\<define\>:\<endef\>'
endif
如果您认为这通常是有用的,并且默认情况下应该包括在内,那么您可以向脚本的维护者(Bram Moolenaar)发送一个补丁。@Ingo Karkat感谢您提供的信息。我已经送去布拉姆·穆勒纳的路了。希望它能出现在下一个版本中。如果有人想知道,试着把它放在你的
~/.vim/after/ftplugin/make.vim
中
" matchit.vim
if exists("loaded_matchit")
let b:match_words =
\ '\<if\(n\)\=\(eq\|def\)\>:\<else\>:\<endif\>,' .
\ '\<define\>:\<endef\>'
endif
“matchit.vim
如果存在(“加载匹配”)
让b:匹配单词=
\ '\:\:\,' .
\ '\:\'
恩迪夫
PS:由于加载vim脚本的顺序,~/.vim/ftplugin
在标准ftplugin之前加载,因此如果只想在标准ftplugin之上构建ftplugin,最好将自定义ftplugin放在~/.vim/after/ftplugin
目录中
感谢@pevik修复丢失的逗号。不确定更改被拒绝的原因,但我手动添加了它。我修复了丢失的逗号,这就是为什么我添加了PPS(以便能够更改文本)