2010-05-06 27 views
162

Ngay sau khi tôi tải bất kỳ tập tin nào trong vim, nó sẽ cố gắng phát hiện tệp và tô màu nó nếu có thể.Tìm loại tập tin nào được tải trong vim

Tôi muốn biết lệnh vim sẽ cho tôi biết plugin hoặc filetype nào của plugin/filetype là vim đang xem xét làm nổi bật tệp.

+0

Vim không tự động làm điều đó? – ereOn

+0

Nếu bạn đặt một vimscript trong ~/.vim/ftplugin/nó sẽ nguồn mà vimscript khi một tập tin của filetype phù hợp được nạp. Vì vậy, đặt 'con trỏ tập trung' trong '~/.vim/ftplugin/python.vim' và bạn sẽ có dòng đánh dấu hiện tại trong các tệp python. Xem ': help ftplugin' và': help after' – idbrii

Trả lời

265

:set filetype?

+26

Bạn có thể lưu một vài thao tác gõ phím và chỉ sử dụng ': set ft? ' –

+27

': se ft? '- Tôi thắng. ;) – sjas

+19

': se ft'? Tôi đã thắng! –

14

Bạn cũng có thể thêm filetype để dòng trạng thái của bạn hoặc tiêu đề cửa sổ sử dụng các mục %y%Y. Xem

:help 'statusline' 
:help 'titlestring' 
3

Khi tôi muốn tìm loại tệp đó là vì tôi đã có phần mở rộng .ipy sửa đổi tập lệnh ipython. Q ở trên Q & A làm việc tuyệt vời để thấy rằng phần mở rộng ipython đã không được coi là python (hơi rõ ràng). Vì vậy, tôi muốn ép buộc thiết lập loại tệp, và tôi tìm thấy điều này từ trang web vim helfpul bao giờ hết. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Thêm bên dưới để vimrc của bạn hoạt động

au BufRead,BufNewFile *.ipy set filetype=python 
0

Vì bạn đang yêu cầu/tìm kiếm câu hỏi này ở nơi đầu tiên, tôi giả sử bạn làm điều này vì vim của bạn bằng cách nào đó không làm nổi bật cú pháp thích hợp cho bạn tự động và bạn đang cố gắng tìm ra lý do và cách khắc phục.

Lệnh :set filetype? trong câu trả lời đã chọn về cơ bản hỏi vim "hey bạn nghĩ tệp hiện tại là gì". Và nếu vim không hiển thị màu/đánh dấu phù hợp, rất có thể câu trả lời của nó cho bạn đang hiển thị số filetype= ở cuối bảng điều khiển của bạn, nghĩa là vim không biết loại tệp. Đây chỉ là một nửa nhiệm vụ của bạn.

Về mặt logic, bước tiếp theo của bạn sẽ được nói vim "chỉ đánh dấu bằng cách sử dụng (ví dụ) cú pháp ps1". Bạn làm như vậy bằng cách nhập :set filetype=ps1, bây giờ vim sẽ đánh dấu tệp hiện tại bằng cách sử dụng kiểu ps1 (với điều kiện là bạn đã download the proper powershell syntax file and put it into your ~/.vim/syntax).

Tại thời điểm này, có thể bạn sẽ muốn tự động làm nổi bật cú pháp từ bây giờ trở đi. Giải pháp là đặt một kịch bản phát hiện tương ứng vào thư mục ~/.vim/ftdetect của bạn. Ví dụ: nếu bạn muốn đánh dấu tất cả các tập lệnh PowerShell .ps1, .psm1, v.v., bạn đặt this file vào ~/.vim/ftdetect

Đây là kết thúc có hậu.

Các vấn đề liên quan