2009-03-27 7 views
6

Google n'est pas très utile ici. J'aimerais composer des courriels avec :set spell, mais pour tous les autres fichiers, :set spell devrait être désactivé. J'utilise mutt, et Vim en tant que rédacteur pour la composition de courriels.Comment: définir le sort dans Vim uniquement pour les emails?

En fait, je suis curieux, comment Vim sait-il que c'est un email que je compose? Y at-il un paramètre de ligne de commande du type de fichier en cours d'édition? Comment Mutt sait ce qu'il faut passer?

Répondre

18

Vous pouvez utiliser un autocmd dans votre ~/.vimrc qui se déclenche par le type de fichier détecté:

autocmd FileType mail set spell 
+0

Comment Vim sait-il que c'est un email que je compose? –

+5

Vim connaît le schéma de nommage de Mutt pour les fichiers temporaires. Si un fichier correspond à ce modèle, vim le traite comme un courrier. (Pour plus de détails, consultez votre fichier filetype.vim qui se trouve probablement quelque part dans/usr/share/vim) – sth

+0

Exactement! Je préfère cette méthode à la ligne "set editor", car elle vous permet également de définir le spelllang et d'autres options, d'une manière plus lisible ... – osti

7

Essayez dans votre .muttrc:

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

Vous pouvez trouver le bon chemin à vim avec "qui vim".

+1

Parfait merci. Il ne semble pas que mutt nécessite le chemin complet de vim, ce qui est génial si je veux utiliser le même fichier muttrc sur plusieurs plates-formes. –

0

Ajouter ce qui suit dans votre ~/.vimrc:

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

Et cela devrait fonctionner correctement. Vous pouvez (devriez?) Changer le sortilège pour refléter les langues que vous utilisez couramment.

Questions connexes