2009-03-27 16 views
6

Google không hữu ích ở đây. Tôi muốn soạn email với số :set spell, nhưng đối với tất cả các tệp khác, :set spell sẽ bị tắt. Tôi đang sử dụng mutt, và Vim là biên tập viên để soạn email.Làm thế nào để: đặt chính tả trong Vim chỉ cho email?

Trong thực tế, tôi tò mò, làm thế nào Vim biết rằng đó là một email tôi đang soạn? Có thông số dòng lệnh của loại tệp đang được chỉnh sửa không? Làm thế nào để mutt biết những gì để vượt qua trong?

Trả lời

18

Bạn có thể sử dụng một autocmd trong ~/.vimrc của bạn mà được kích hoạt bởi các loại tập tin được phát hiện:

autocmd FileType mail set spell 
+0

Làm cách nào để Vim biết rằng đó là email tôi đang soạn? –

+5

Vim biết lược đồ đặt tên cho các tập tin tạm thời. Nếu một tệp phù hợp với mẫu đó, vim sẽ coi đó là một thư. (Để biết chi tiết, hãy xem trong filetype.vim của bạn có thể nằm ở đâu đó trong/usr/share/vim) – sth

+0

Chính xác! Tôi thích phương pháp này trên dòng "set editor", vì nó cho phép bạn cũng thiết lập các tùy chọn chính tả và các tùy chọn khác, theo cách dễ đọc hơn ... – osti

7

Hãy thử điều này trong .muttrc của bạn:

set editor = "/usr/bin/vim -c':set spell'" 

Bạn có thể tìm ra con đường đúng để vim với "mà vim".

+1

Lời cảm ơn hoàn hảo. Nó không có vẻ như mutt yêu cầu đường dẫn đầy đủ để vim, đó là tuyệt vời nếu tôi muốn sử dụng cùng một tập tin muttrc trên nền tảng. –

0

Thêm dòng sau vào bạn ~/.vimrc:

set spelllang=en_gb,fr 
au BufRead,BufNewFile *mutt* set filetype=mail 
autocmd FileType mail set spell 

Và nó sẽ hoạt động tốt. Bạn có thể (nên?) Thay đổi chính tả để phản ánh bất kỳ ngôn ngữ mà bạn thường xuyên sử dụng.