Theo đề nghị của @dwc, đây là một kịch bản 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
Hãy nguồn đó và đặt nó trong một tập tin trong thư mục plugin của bạn, chẳng hạn như ~/.vim/plugin/gitignore.vim
. Nó sẽ đọc tệp .gitignore
của bạn và phân tích cú pháp, chuyển định dạng của nó thành một tệp phù hợp cho wildignore
và sau đó đặt tùy chọn đó.
Hạn chế:
- này sẽ đọc các tập tin
.gitignore
từ thư mục nơi bạn khởi động vim. Không có nỗ lực nào được thực hiện để tìm kiếm các tệp .gitignore
khác và phân tích chúng. Ngoài ra, bạn có thể chỉ định đường dẫn tuyệt đối cho tệp trên dòng đầu tiên.
- Tùy chọn
wildignore
trong vim không hỗ trợ khái niệm phủ nhận bỏ qua như bạn có thể trong tệp .gitignore
. Tức là, bạn không thể nói :set wildignore=*.html,!foo.html
để bỏ qua tất cả các tệp html trừ foo.html
. Do đó, .gitignore
dòng bắt đầu bằng! chỉ đơn giản là bị bỏ qua.
Nguồn
2009-02-24 14:05:26
FYI, đây là mã tại vim.org: http: //www.vim.org/scripts/script.php? script_id = 2557 – Florian
Thay đổi 'set wildignore =' thành 'đặt wildignore + ='. Bằng cách đó, các cài đặt bỏ qua trước đây của bạn sẽ không bị ghi đè. – silvenon
Làm thế nào để bạn thực hiện công việc này cho đường dẫn gốc? ("/ blah") – silvenon