|
| Posté par Luc. Approuvé le Lundi 05 Août à 18:35 [M]
|
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.
|
|
|
|
|
|
| Posté par Luc. Approuvé le Lundi 05 Août à 18:12 [M]
|
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.
|
|
|
|
|
|
|
|
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. |
|
|
set sort_browser= ? Je serais curieux de savoir comment les utilisateurs experimentees organise leur 'folders' sur l'ecran.
[Commentaires]
|
|
|
mutt - Des menus déroulant pour Mutt !
'Eterm -t mutt' lance un Eterm avec le theme mutt et deux ravissants petits menus.
(merci Fabien ;)
-- admin |
|
|