2009-03-27 25 views
6

Google nie jest tu bardzo pomocny. Chciałbym komponować wiadomości e-mail z :set spell na, ale dla wszystkich innych plików, :set spell powinny być wyłączone. Używam mutt, a Vim jako redaktor do komponowania e-maili.Jak: ustawić czar w Vimie tylko dla e-maili?

Ciekaw jestem, skąd Vim wie, że to e-mail, który komponuję? Czy istnieje parametr wiersza polecenia typu edytowanego pliku? Jak mutt wie, co przekazać?

Odpowiedz

18

Można użyć autocmd w swoim ~/.vimrc że zostanie wywołany przez wykrytą Typ pliku:

autocmd FileType mail set spell 
+0

Skąd Vim wie, że to e-mail, który komponuję? –

+5

Vim zna schemat nazewnictwa plików tymczasowych. Jeśli plik pasuje do tego wzorca, vim traktuje go jako pocztę. (Aby uzyskać szczegółowe informacje, zajrzyj do pliku filetype.vim, który prawdopodobnie znajduje się gdzieś w/usr/share/vim). – sth

+0

Dokładnie! Wolę tę metodę od linii "edytor zestawów", ponieważ pozwala ona również ustawić spelllang i inne opcje w bardziej czytelny sposób ... – osti

7

Spróbuj tego w .muttrc:

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

Można znaleźć właściwą ścieżkę do vim z "który vim".

+1

Doskonałe dzięki. Nie wygląda na to, że mutt wymaga pełnej ścieżki do vima, co jest wspaniałe, jeśli chcę użyć tego samego pliku muttrc na różnych platformach. –

0

Dodaj poniższe do swojej ~/.vimrc:

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

I powinno działać dobrze. Możesz (powinieneś) zmienić spelllang, aby odzwierciedlał on wszystkie języki, które rutynowo używasz.