2010-04-19 23 views

Trả lời

18

Một cách sẽ có thêm một autocommand để .vimrc của bạn cho các tập tin mà không có các thiết lập cú pháp:

au BufNewFile,BufRead * if &syntax == '' | set syntax=html | endif 

Hoặc, bạn có thể thiết lập các filetype cho bất kỳ tập tin mà nó không được định nghĩa cho:

filetype plugin on 
au BufNewFile,BufRead * if &ft == '' | set ft=html | endif 

Đặt filetype plugin on cùng với lệnh au mang lại lợi ích bổ sung khi tải plugin HTML nếu bạn có. Điều này cũng đặt cú pháp thành "html".

+0

Cảm ơn bạn rất nhiều! – zly

0

Nếu tôi nhớ đúng, bạn có thể đặt một tệp có tên cú pháp.vim bên trong thư mục ~/.vim/syntax của bạn. Tệp này được sử dụng làm nguồn đánh dấu cú pháp mặc định. Nếu thư mục .vim của bạn không tồn tại, bạn phải tạo ra nó:

mkdir ~/.vim 
mkdir ~/.vim/syntax 
touch ~/.vim/syntax/syntax.vim 

Bây giờ bạn có thể thêm cú pháp mặc định của bạn vào file syntax.vim. Để biết thêm tài liệu, bạn có thể xem vim sourceforge page.

Hy vọng điều này sẽ hữu ích.

+0

không phải những gì tôi đã yêu cầu .. xin lỗi – zly

+0

Sau đó, hãy chính xác hơn về vấn đề của bạn trong mô tả của bạn .. nó không phải là rất mô tả ngay bây giờ. – apparat

+0

Một số tệp không có phần mở rộng (hậu tố) phải không? Trường hợp tại điểm, các tệp html tôi hoạt động không có hậu tố .html. Chúng được đặt tên như thế này: file1, file2, vv Bây giờ, tôi muốn vim tự động thiết lập cú pháp html khi tôi mở những tập tin mở rộng ít hơn. Làm thế nào để làm điều đó? – zly

4

Để chọn cú pháp mặc định cho các tập tin mà không có một phần mở rộng, bạn có thể tạo một autocommand để kiểm tra nếu tên tập tin chứa một ., và nếu không, chuyển sang cú pháp mong muốn:

autocmd BufNewFile,BufRead * if expand('%:t') !~ '\.' | set syntax=perl | endif 

Cái này nhặt perl như một cú pháp mặc định, nhưng bạn có thể chỉ cần sử dụng cái nào là thích hợp.

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