2

Я создал макрос в Mutt, чтобы отправить выбранное сообщение в мою архивную папку:

macro index,pager ,m s=Archive

Во многих случаях новые сообщения архивируются сразу, поэтому я попытался расширить макрос:

macro index,pager ,m Wnks=Archive

Это работает нормально, если не выбрано последнее сообщение. В этом случае целевое сообщение остается выбранным после очистки флага N/O, а команда k перемещает выбор к предыдущему сообщению в списке. Есть ли способ применить несколько команд к определенному сообщению, не прибегая к командам перемещения?

1 ответ1

2

Mutt обычно перемещает курсор к следующему сообщению всякий раз, когда выполняется команда, которая изменяет текущее сообщение. Это поведение контролируется переменной конфигурации 'resol' . Таким образом, одним из решений будет расширение макроса до отмены resolve перед выполнением других команд, а затем его повторная установка.

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

Обратите внимание, что это не проверено. Я собрал его из вашего макроса плюс несколько макросов в моем muttrc, в котором я сбрасываю / устанавливаю различные переменные конфигурации до / после выполнения ядра макросов. Также обратите внимание на пробел после каждого двоеточия. Это предотвращает сохранение следующей команды в истории командной строки. Это не важно, но может быть удобно, чтобы избежать беспорядка в вашей истории.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .