2011-10-23 19 views
6

sự khác biệt giữa đặt là gì:autocmd Kiểu Tệp vs ftplugin

autocmd FileType ruby setlocal ts=2 

trong tôi đặt ~/.vimrc và:

setlocal ts=2 

trong ~/.vim/ftplugin/ruby.vim?

Nếu không có sự khác biệt, tôi nên đặt các lệnh cụ thể cho một loại tệp ở đâu?

+0

Đây không phải là một ví dụ điển hình bởi vì 'g: rubycomplete_buffer_loading' là biến * global * được đưa vào vimrc mà không có trước' autocmd Filetype ruby'. – ZyX

Trả lời

5

Theo như tôi biết, không có sự khác biệt nào giữa hai điều này.

Tôi thích đặt các lệnh như vậy trong ftplugin và giữ cho ngôn ngữ chính của tôi .vimrc không thuyết phục ... Nhưng không có quy tắc cứng và nhanh. Một lợi thế để giữ nó trong vimrc của bạn sẽ là cài đặt vim của bạn sẽ dễ dàng di chuyển hơn (ví dụ, bạn có thể nhận tất cả cài đặt vim trên máy mới chỉ bằng cách sao chép .vimrc, thay vì .vimrc + .vim). Rõ ràng đặt chúng trong .vimrc của bạn cũng sẽ có một hình phạt hiệu suất nhỏ (nghĩa là, chúng sẽ được nạp + thực thi cho mọi tệp, không chỉ các tệp ruby) ... Nhưng tôi sẽ không thực sự lo lắng về điều đó.

+0

Cảm ơn câu trả lời. Tôi đã được đặt mã trong 'ftplugin' và tôi nghĩ rằng tôi sẽ tiếp tục làm như vậy để giữ cho' .vimrc' của tôi đơn giản. –

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