Appliquer plusieurs commandes aux messages dans Mutt

2

J'ai créé une macro dans mutt pour envoyer le message sélectionné dans mon dossier d'archives:

macro index,pager ,m s=Archive

Dans de nombreux cas, les nouveaux messages sont archivés immédiatement. J'ai donc essayé d'étendre la macro:

macro index,pager ,m Wnks=Archive

Cela fonctionne bien sauf si le dernier message est sélectionné. Dans ce cas, le message cible reste sélectionné après la suppression de l'indicateur N / O et la commande k déplace la sélection vers le message précédent de la liste. Est-il possible d'appliquer plusieurs commandes à un message donné sans avoir à recourir à des commandes de mouvement?

janeden
la source

Réponses:

2

Mutt fait normalement avancer le curseur au message suivant chaque fois qu'une commande modifiant le message actuel est exécutée Ce comportement est contrôlé par le 'résoudre' variable de configuration. Donc, une solution serait d'étendre votre macro à unset resolve avant d'exécuter les autres commandes, puis réinitialisez-le par la suite.

macro index,pager ,m ": unset resolve\nWnks=Archive\n: set resolve\n"

Notez que cela n'a pas été testé. Je l'ai assemblé à partir de votre macro et de quelques macros dans ma muttrc dans lesquelles je désactive / définit diverses variables de configuration avant / après l'exécution du noyau des macros. Notez également l'espace après chaque deux-points. Cela empêche la commande suivante d'être enregistrée dans l'historique de la ligne de commande. Ce n'est pas important, mais cela peut être pratique pour éviter d'encombrer votre historique.

garyjohn
la source
Excellent, j'ai supprimé le "k" de votre solution ci-dessus (cela n'est pas nécessaire si le focus du message ne change pas). Merci!
janeden