gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:34:28 24 4
gpt4 key购买 nike

我想知道是否有办法让 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

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

限制:

  • 这将从您启动 vim 的目录中读取 .gitignore 文件。没有努力寻找其他 .gitignore 文件并解析它们。或者,您可以在第一行指定文件的绝对路径。
  • vim 中的wildignore 选项不支持否定 忽略的概念,就像在.gitignore 文件中一样。也就是说,您不能说 :set wildignore=*.html,!foo.html 让它忽略除 foo.html 之外的所有 html 文件。因此,以 ! 开头的 .gitignore 行都被忽略了。

关于git - 我可以让 vim 尊重我的 .gitignore 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/579871/

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