Tại sao vim không thể xem tệp thẻ, mặc dù trong cùng một thư mục?


8

Tôi đang ở trong thư mục E:\dir\python_file.py, :pwdchương trình E:\dir. :e tagsmở tập tin thẻ tôi tạo ra với ctags -R.

Tôi đã tagsthiết lập những gì có vẻ hợp lý: set tags?chương trình set tags=./tags,tags;E:\. Verbose set tagschỉ hiển thị vimrc của tôi.

Sử dụng :tag method_nameném hai lỗi: E433: No tags fileE426: tag not found: method_name.

Tôi đang ở trên Windows.


1
gvim -u NONE -U NONENó hoạt động tốt, vì vậy tôi phải có một plugin làm điều gì đó kỳ lạ.
TankorSmash

Câu trả lời:


8

wildignore có dấu phẩy.

Vimrc của tôi đã set wildignore=*.png,có dấu phẩy. Thay đổi nó đã set wildignore=*.pnggiải quyết vấn đề của tôi.

Hóa ra, sau khi nhìn :setmột lúc, điều đó ftplugin/python.vim xảy ra set wildignore+=*.pycở đâu đó, vì chỉ cần set wildignore=*.png,không đủ để phá vỡ các thẻ. Vì vậy, ký tự đại diện mà tôi có, một khi tôi mở tệp .py wildcard=*.png,,*.pyc, và nếu bạn mở vim bằng vim -u NONE -U NONE, các thẻ sẽ bị hỏng.

Vim phải thực hiện một số phép nối thêm dấu phẩy nếu cài đặt không trống, nhưng không kiểm tra dấu phẩy hiện có. Nghĩ rằng tôi vừa tìm thấy một lỗi.


Hóa ra đó là một lỗi, và nó đã được giải quyết .


Thực hiện một số thử nghiệm, sử dụng vimrc chỉ set wildignore=*.png,không đủ để gây ra điều này, vì vậy có thể phân tích cú pháp bị kẹt với bất kỳ dấu phẩy nào?
TankorSmash

Chúng tôi sẽ xem nếu nó thực sự là một lỗi code.google.com/p/vim/issues/detail?id=365
TankorSmash

Tôi sẽ tuyên bố không phải là một lỗi. Cài đặt này là một danh sách được phân tách bằng dấu phẩy. Vì đã có dấu phẩy trong cài đặt, điều đó có nghĩa là một mục trống trong cài đặt. (Cho dù một mục trống có nghĩa là bất cứ điều gì có thể phụ thuộc vào cài đặt). Khi bạn thực hiện +=trên một cài đặt là danh sách được phân tách bằng dấu phẩy, nó sẽ luôn thêm dấu phẩy trừ khi nó trống vì bạn đang cố thêm một cái gì đó vào danh sách. Sử dụng dấu phẩy hiện có sẽ loại bỏ mục trống. Mà có lẽ là bất ngờ. ( :help :set+=) (Tuy nhiên, mục trống bỏ qua mọi thứ có thể là một lỗi)
FDinoff

@FDinoff đó là một điểm tốt, có thể có một cài đặt mong đợi một mục trống.
TankorSmash

@Viet Không sao đâu anh bạn!
TankorSmash
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.