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.
Vim không tự động làm điều đó? – ereOn
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