EmacsFR  ·   Vim  ·   GnusFR  ·   OutLookFR    ConviMailers United  
Mutt ? Parce que je le vaux bien !

Mutt french Page
Sur ce site : docs, liens et astuces sur Mutt et tous les softs associés (Vim, Emacs, MTAs, GNU-PG/PGP etc.). Bonne visite !



daCode CVS
 - [112] Articles

 - Proposer une dépêche
 - Proposer un sondage

Thèmes
 - Crypto et Privacy
 - daCode
 - Emacs
 - fetchmail
 - Mutt add-ons
 - bugs, failles, problèmes
 - Muttfr
 - Mutt Tips
 - Mutt et VIM
 - Procmail Tips

Liens locaux
 - Les dépêches sur votre PDA
 - Les dépêches par WAP
 - Les dépêches sur votre site
 - Sidebar Mozilla/Netscape 6

daCode
 ((Vi IMproved--Vim))
Posté par Emmanuel Seyman. Approuvé le Mercredi 04 Septembre à 12:25 [M]
Dépt: livre de chevet
mutt-vim Ca faisait longtemps que je cherchais un bon livre sur Vim pour apprendre au maximum de sa capacité. Les editions New Riders viennent de sortir un livre de Steve Oualline "Vi IMproved--VIM", consacré a ce magnifique éditeur. Mes impressions...
0 commentaire  2.69Kilo-octets dans le corps

 ((Correction orthographique))
Posté par Luc. Approuvé le Mardi 06 Août à 10:28 [M]
mutt-vim La correction orthographique des e-mails peut être accomplie de bien des façons et même à plusieurs moments -- je ne doute pas que l'on puisse lancer aspell dans un xterm depuis mutt, corriger et revenir à mutt.

Typiquement, il faut disposer d'un soft de correction orthographique. Parmi les plus connus et répandus dans le monde GNU et *nix, on trouve entre autres ispell et aspell. Ispell est venu en premier et d'après ce que j'en ai compris, il permet d'avoir des dictionnaires efficacement compressés. Aspell, son successeur dans l'âme semble quant à lui plus efficace lorsqu'il s'agit de proposer des alternatives à un mot mal épelé ; ses heuristiques prennent en compte la sonorité des mots. En vérifiant les URLs, je viens de voir qu'il y a eu un petit changement, maintenant on parle de GNU Aspell.

Si on veut s'en servir depuis VIM, l'approche la plus simple consiste certainement à lancer aspell (ou ispell) dans un processus externe avec p.ex.: :update \| :!aspell -c --dont-backup % \| :e
Cf. la page Text Processing With Integrated Spell Checking de David Highley pour encore plus d'explications et de conseils autour de cette approche.

Personnellement, j'ai choisi d'intégrer aspell dans VIM. C'est globalement plus lent, mais plus joli (sous Windows, ma version d'Aspell est en Noir et Blanc) et en plus on garde la puissance de VIM derrière.

Cela a donné lieu à un plugin (lhVimSpell) assez gros dont le principal interêt est d'afficher la liste des alternatives, à un mot non reconnu, dans une fenêtre separée depuis laquelle il est possible de sélectionner l'alternative désirée.

Concernant la correction grammaticale ... il n'y a malheureusement rien à ma connaissance qui puisse s'intégrer correctement et facilement avec mutt, vim ou tout autre logiciel ouvert non limité à windows.
3 commentaires

 ((Effacer des lignes))
Posté par Luc. Approuvé le Lundi 05 Août à 18:35 [M]
mutt-vim Lorsque l'on répond à des messages, que cela soit des e-mails ou des posts sur usenet, il est plus que fréquent que l'on veuille effacer des lignes voire des paragraphes entiers.

Je me place ici dans le cas où l'on ne peut pas utiliser la souris. Chose qui est assez fréquente lorsque vim est lancé sur une autre machine (via un telnet, ssh, etc).

Voici donc des exemples de sequences de touches que j'utilise assez fréquement :
- dd : la plus connue pour effacer la ligne courante ;
- dL : pour tout effacer jusqu'à la dernière ligne visible sur le terminal ; on peut également s'amuser avec d4L pour tout effacer entre la ligne courante et les 4 dernières ;
- dG : pour tout effacer jusqu'à la fin du fichier
- d-- : pour tout effacer jusqu'à la fin du fichier, ou jusqu'à notre signature si elle est présente ; la définition se trouve dans mon ftplugin Mail_Sig_Set.vim -> onoremap -- /\n^-- \=$\\|\%$/+0<cr>
- dq : pour effacer le niveau de quote courant ; défini dans le mail ftplugin de Brian Medley
- vipd : pour sélectionner le paragraphe courant (délimité par des lignes blanches) et l'effacer.

En fait, il existe bien d'autres séquences de ce style. Toutes les actions du type 'd'elete, 'c'hange, 'y'ank, etc attendent un déplacement ; ce sont les "operator command" qui nous placent dans l'"operator-pending-mode". Pour en savoir plus, faire ":h motion.txt" sous VIM.
1 commentaire

 ((Mail ftplugins avec VIM 6.x))
Posté par Luc. Approuvé le Lundi 05 Août à 18:12 [M]
mutt-vim Comme je l'avais déjà signalé dans les divers commentaires par-ci par-là, une des améliorations majeures (à mon goût) de la version 6 de VIM sont les ftplugins.

Plugins et ftplugins sont des fichiers de scripts qui sont chargés et exécutés automatiquement quand VIM se lance [1]. Le principal avantage étant de pouvoir garder un .vimrc aussi léger que possible et permettre d'échanger facilement des modules parfois complexes (cf. la home page de vim sur sourceforge).

Les ftplugins sont un type particulier de plugins ; leur nom est l'abréviation de filetype-plugin. Contrairement aux plugins qui sont tous systématiquement chargés quand VIM se lance, seuls certains ftplugins sont chargés au lancement de VIM : ceux qui sont associés au type du fichier edité. Evidemment, ici sur muttfr, ce sont les "mail ftplugins" qui nous interressent.

Avant, que faisait-on ?
On mettait dans le .vimrc une ribambelle de macros et de définitions qui étaient valides quelque soit le type de fichier edité. Souvenez-vous du .vimrc correspondant de Sven Guckes.
Pour les commandes que l'on voulait voir s'exécuter automatiquement, on rajoutait également un truc du genre :
au BufNewFile,BufRead mutt-*- \d\+,.letter,... :normal ,re
et on recommencait pour toutes les actions que l'on voulait voir se lancer sans que l'on ait à intervenir.

Bref, c'était pénible à maintenir (car on a installé un nouveau logiciel comme slrn, ...), cela alourdissait un fichier déjà gigantestque, etc.

Vient le temps des ftplugins, si on regarde bien, la liste des noms de fichiers à supporter est définie dans le fichier $VIM/filetypes.vim. VIM peut ainsi savoir quel est le type du fichier édité et ainsi charger la coloration syntaxique qui va bien. Et justement, les e-mails de mutt, elm, pine, les articles de slrn, trn, etc sont déjà reconnus.

Et cela va plus loin car on peu aussi charger un ensemble de définitions : les fameux mail ftplugins ; et ceci *automatiquement* !

Pour cela, il faut déposer dans $HOME/.vim/ftplugin/mail/ les fameux fichiers. Si les fichiers ont un nom du type mail_xxx.vim, on peut directement les mettre dans $HOME/.vim/ftplugin/. Note, sous windows le répertoire est $HOME/vimfiles/ftplugin/ (cf ":h 'runtimepath').
Les plugins quant à eux se déposent dans $HOME/.vim/plugin/.


Bon, évidemment, comme vous le savez déjà mes mail ftplugins sont proposés et décrits sur ma page WWW. Vous en trouverez d'autres sur sourceforge ; notament celui de Brian Medley qui a une approche différente de la mienne pour virer les signatures et propose aussi un moyen pour interroger abook depuis VIM (pour interroger les alias de mutt depuis VIM, je vais plus loin), et un autre pour supprimer des paragraphes de quotes de même niveau.


[1] en fait, c'est un petit peu plus complexe que cela.
0 commentaire

 ((Ajouter un alias à partir du fichier d'alias mutt))
Posté par Xavier Maillard. Approuvé le Mardi 12 Février à 16:36 [M]
mutt-vim J'utilise mutt avec ce superbe éditeur qu'est VIM. Après un long apprentissage et des heures de lectures de lignes de script VIM, j'ai modifié une fonction qui permet d'ajouter des alias mutt dans VIM.

Cette fonction est basée sur celle de Luc HERMITE et à l'avantage de n'insérer des alias que sur les lignes adéquates (To, Cc, Bcc) alors qu'à l'origine les alias sont placés sur la ligne où est positionné le curseur.

Voici donc cette fonction :

"Champs désigne la ligne d'insertion
"alias ...
func! AppendAlias(champs,alias)
"on se positionne au début du fichier
  normal 1G
"on recherche la ligne commençant par champs
"et on sauvegarde la ligne qui va bien
  exe '/^' . a:champs
  let l = line('.')
"on recherche l'alias dans le fichier mutt
"(cf macro de Luc)
  let addr = GrepAlias(a:alias)
"ici je teste si c'est la première insertion d'un alias
      if getline(l) !~ '^.*>$'
        call setline(l,getline(l).addr)
      else
"sinon je prends la ligne à laquelle je rajoute une ',' séparatrice et l'alias
        call setline(l,getline(l).','.addr)
      endif  
endf
Voilà c'est tout.

Après ça il suffit de créer les mappings qui vont bien comme suit :

command! -nargs=1 Ca :call AppendAlias('To:\s*',)
noremap ,Ca :Ca
command! -nargs=1 CA :call AppendAlias('Cc:\s*',)
noremap ,CA :CA
Libre à vous dee rajouter les Reply-To et autre Bcc

Ensuite dans le mode mail il suffit de taper en mode normal ,Ca pour ajouter un alias dans le champs 'To' et le tour est joué !!

Happy viming ! :-)
4 commentaires

 ((Insertion des alias Mutt dans VIM))
Posté par Luc. Approuvé le Mercredi 14 Novembre à 04:01 [M]
mutt-vim Salut à tous,

C'est un peu vil de faire une news de plus pour cela, mais je pense que cela peut s'avérer intéressant.
J'ai opéré une mise à jour majeure, et surtout stabilisée, sur mon script permettant d'incorporer des alias au format MUTT dans les champs d'adresse des messages électroniques.

Dorénavant, il est possible d'entrer une expression régulière (ou l'alias exact) directement dans un champs d'adresse, d'appuyer sur &lt;tab&gt; et de voir l'adresse e-mail venir s'insérer toute seule comme une grande. Jusque là, rien de bien folichon.

Le gros truc est que si plusieurs alias correspondent à l'expression régulière donnée, alors la fenêtre d'édition va se séparer en deux et tous les choix compatibles vont être proposés. De là, il sera possible d'en choisir un avec &lt;entrée&gt; ou d'en choisir plusieurs en les taguant (touche &lt;t&gt; -- minuscule) d'abord -- pas besoin d'appuyer sur &lt;;&gt; comme dans MUTT avant de valider.

Application directe : si on veut voir apparaitre toutes les adresses du carnet d'adresse, tapez &lt;.&gt; (point) dans le champ Cc: (p.ex.), puis &lt;tab&gt; et tagguez à souhait.

Concernant les fichiers, plusieurs sont requis. Vous en trouverez la liste ci-dessous.

Luc
PS: free est parfois un peu lent, donc insistez si vous avez des problèmes de connexion.
0 commentaire

 ((Fichier de conf pour vim 6))
Posté par muttfr. Approuvé le Mardi 06 Novembre à 22:56 [M]
mutt-vim Je viens tout juste de terminer de le nettoyer et le peaufiner, je le colle donc en attach de ce message. Vous y trouverez de jolies couleurs (hum...) et quelques petites macro pour Mail & News, insérer automatiquement ses e-mails etc.
Happy vimming !:)
5 commentaires  6.72Kilo-octets dans le corps

 ((personnaliser ses headers en mode édition))
Posté par muttfr. Approuvé le Mardi 06 Novembre à 22:32 [M]
mutt-vim Ce qui suit est un petit extrait (écourté) de l'article que je vous ai concocté pour Linuxmag ce mois-ci, parce que je manque d'inspiration et que certains visiteurs s'en plaignent :)
***
Par défaut, mutt intervient de manière pseudo interactive lors de l'envoi d'un message, pour renseigner les champs To, subject ... Pour éditer et personnaliser ses headers :
# ~/.muttrc
set edit_headers

le reste se passe dans la configuration de l'éditeur par défaut, en l'occurence VIM:

  1. sourcer dans son vimrc le fichier contenant les propriétés vim pour mutt :au BufEnter ~/.tmp/mutt* so ~/.vim/mutt.colors ;
  2. créer et renseigner le fichier  /.vim/mutt.colors (exemple ci-dessous). Pour plus d'informations sur la syntaxe de ce fichier et les différentes couleurs disponibles, taper :help highlight, :help cterm ou :help colors dans VIM.

" exemple de fichier ~/.vim/mutt.colors

hi mailHeaderKey  ctermfg=cyan
hi mailSubject    ctermfg=magenta
hi mailHeader     ctermfg=darkcyan
hi mailEmail      ctermfg=yellow
hi mailSignature  ctermfg=darkmagenta
hi mailQuoted1    ctermfg=darkgreen
hi mailQuoted2    ctermfg=darkcyan
hi mailQuoted3    ctermfg=darkmagenta
hi mailQuoted4    ctermfg=blue
hi mailQuoted5    ctermfg=darkblue
hi mailQuoted6    ctermfg=black

La liste complète de ces différents champs (emails, en-têtes, subject ...)est en fait définie dans un des fichiers de syntaxe vim, mail.vim (sous debian, /usr/share/vim/vim58/syntax/mail.vim). Il est composés en "régions" (ensembles de champs auxquels seront affectées les mêmes propriétés) et en "matchs", permettant de déterminer des propriétés spécifiques à chacun des champs. Il est donc très facile de le personnaliser :

Exemple de region (extraite du mail.vim) :

syn region mailHeaderKey contained start="^\(From\|To\|Cc\|Bcc\|Reply-To\).*" skip=",$" end="$" contains=mailEmail

Exemple de match (personnalisé) :

syn match mailTo     contained "^To.*"

Une fois définis, ces différents "matchs" ou "regions" peuvent alors être nommément désignés dans le fichier mutt.colors, et associés à un ensemble de propriétés. C'est bien peu de chose mais c'est à ce genre de petits détails qu'on juge le degré de raffinement du geek moyen

0 commentaire

 ((L'IN-DIS-pensable compagnon de VI : _LE_ trombone...plus chiant que le vrai !))
Posté par IC. Approuvé le Lundi 21 Mai à 20:46 [M]
mutt-vim Cher ami... utilisateur de Microsoft Winblows, tu te sens seul et abandonné sur ton Xterm ? ton éditeur ne bouffe pas assez de CPU ? tu _veux_ retrouver ton ami trombone sous Linux (oui je sais qu'on dit GNU/Linux) ? Et bien sache que non seulement ca existe, mais qu'en plus il est nettement mieux que l'original (sisi c'est possible).
L'original savait (parfois) se rendre utile en plus d'etre extremement chiant. Et bien Vigor (c'est son nom) n'est _que_ chiant !
C'est donc ton nouvel ami :)

(Brought to you by Netscape for Irix ;)
1 commentaire parmi 2

 ((Macros VIM pour mutt))
Posté par Luc Hermitte. Approuvé le Mardi 13 Mars à 16:19 [M]
mutt-vim Salut,

Je fais un petit peu de pub (je sais c'est vil!) pour 4 fichiers de macros utiles aux utilisateurs de VIM + MUTT -- A moins que cela soit le contraire. Bref.

  • mail.set réunit pratiquement toutes les macros et commentaires de Sven Guckes dans un ficher autre que le .vimrc ; au passage, il s'occupe de charger les 3 autres fichiers de macros qui suivent.
  • Mail_Re.set qui corrige les macro ,re et ,Re de Sven Guckes afin de pouvoir les appliquer automatiquement. Au passage on transforme les "Réf. :" en "Re:"
  • Mail_Cc.set : parce que j'en avais marre de recevoir une copie de mes mails lorsque je faisais des group-reply [a encore un tout petit bug] ; à se configurer pour l'adresse e-mail
  • Mail_mutt_alias.set : transpose la macro ,Ca d'ELM à MUTT. Ainsi, on peut insérer de nouveaux destinataires via alias sans devoir quitter VIM ; à configurer pour savoir où chercher le fichier d'alias.

Dernier truc, pour que tout s'enchaîne automatiquement, il faudrait récuperer mysettingfile.vim et le sourcer depuis votre propre .vimrc à peu près après les dernières commandes d'activation de la coloration de syntaxe.

Voili, voilou. J'espère que vous en ferez bon usage.

Luc

3 commentaires parmi 6


Édito
Plop,
 La visualisation des attachements est cassée (à cause de PosgreSQL 7.3), mais ne vous inquietez pas, ça fait 1 mois que ça me hante toutes les nuits et que je tente de patcher (Oumph: au secours !!! ;).

Pour nous contacter: webmaster@muttfr.org.

Authentification

Nouveau Compte
Oublié votre Mot de Passe ?

Calendrier
<<Mai 2008 
LuMaMeJeVeSaDi
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  


mutt-vim
Mercredi 07 Mars
 - [3/4] Virer les signatures et positionner son curseur lors du reply

Tribune Libre
 07:09 <Anonyme> Unknown
 11:44 <Anonyme> <a href= ></a>
 16:01 <Anonyme> <a href= ></a>
 18:19 <Anonyme> Unknown
 23:57:13 <Anonyme> Unknown
 23:57:16 <Anonyme> Unknown
 06:28:04 <Anonyme> Unknown
 06:28:08 <Anonyme> Unknown
 13:14:17 <Anonyme> Unknown
 13:14:28 <Anonyme> Unknown

Sondage
set sort_browser= ?
Je serais curieux de savoir comment les utilisateurs experimentees organise leur 'folders' sur l'ecran.
alpha
date
reverse-date
reverse-alpha
autre
[Commentaires]

Astuce
GnuPG - Sauver les messages encryptés sortants avec sa propre clé

Pour pouvoir relire vous même les messages encryptés sortants (donc les crypter _également_ avec sa propre clé), simplement ajouter ça dans .gnupg/options:

encrypt-to <mon_ID>

-- admin




© 2001-2002 MuttFr.org - Ce document peut être reproduit par n'importe quel moyen que ce soit, pourvu qu'aucune modification ne soit effectuée et que cette notice soit préservée.