当前位置:  开发笔记 > 编程语言 > 正文

我可以让vim尊重我的.gitignore文件吗?

如何解决《我可以让vim尊重我的.gitignore文件吗?》经验,为你挑选了2个好方法。

我想知道是否有办法让vim读取.gitignore文件并使用它们来确定自动完成文件名时不显示的选项.

例如,在python中工作,我不希望看到提供编辑的.pyc文件.我认为vim有自己的机制,我想知道如何从.gitignore加载信息.



1> Adam Bellair..:

正如@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

获取该源并将其放入插件目录中的文件中,例如~/.vim/plugin/gitignore.vim.它将读取您的.gitignore文件并解析它,将其格式转换为适合的格式wildignore,然后设置该选项.

限制:

这将从.gitignore您启动vim的目录中读取该文件.没有努力寻找其他.gitignore文件并解析它们.或者,您可以在第一行指定文件的绝对路径.

wildignorevim中的选项不支持在文件中否定忽略忽略的概念.gitignore.也就是说,你不能说它:set wildignore=*.html,!foo.html忽略所有的html文件,除了foo.html.因此,.gitignore开头的行!简直被忽略了.


将`set wildignore =`更改为`set wildignore + =`.这样,以前的忽略设置不会被覆盖.

2> dwc..:

Vim将忽略选项中指定的文件模式,因此您可以像这样设置它们: wildignore

:set wildignore=*.o,*~,*.pyc

或者在〜/ .vimrc文件中放置相同的行(不带":").如果你需要一些更动态的东西,比如调整到当前目录中的.gitignore那么你需要做一些脚本,但我会把它留给别人做练习.


很好的答案.注意:\*.o\*〜和\*.pyc之间不能有空格,所以它应该是:`:set wildignore =*.o,*〜,*.pyc`.干杯
推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有