我想知道是否有办法让
vim读取.gitignore文件,并使用它们来确定在自动完成文件名时不提供的选项.
例如,在python工作,我想看不到.pyc文件提供编辑.我认为vim有自己的机制,我想知道如何从.gitignore加载信息到它.
根据@dwc的建议,这里有一个vim脚本:
let filename = '.gitignore' if filereadable(filename) let igstring = '' for oline in readfile(filename) let line = substitute(oline,'\s|\n|\r','',"g") if line =~ '^#' | con | endif if line == '' | con | endif if line =~ '^!' | con | endif if line =~ '/$' | let igstring .= "," . line . "*" | con | endif let igstring .= "," . line endfor let execstring = "set wildignore=".substitute(igstring,'^,',"g") execute execstring endif
拿这个源,把它放在你的plugin目录下的一个文件中,比如〜/ .vim / plugin / gitignore.vim.它将读取您的.gitignore文件并解析它,将其格式转换成适用于wildignore的格式,然后设置该选项.
限制:
>这将从您启动vim的目录中读取.gitignore文件.没有努力寻找其他.gitignore文件并解析它们.或者,您可以指定第一行文件的绝对路径.> vim中的wildignore选项不支持像在.gitignore文件中一样排除忽略的概念.也就是说,你不能说:set wildignore = *.html,!foo.html让它忽略除了foo.html之外的所有html文件.因此,.gitignore行开始!被忽略.