Как действительно легко сохранить все отмеченные вложения в Mutt?

19

Вы можете сохранить все вложения через

  1. помечать все вложения с помощью нажатия t
  2. ;
  3. s
  4. выберите каталог назначения и нажмите a(все)

Это работает, но имеет следующий серьезный побочный эффект: вы должны нажать n раз enterдля n вложений.

Это означает, что даже если в каталоге назначения нет конфликтов имен файлов.

Это также задокументировано в FAQ Mutt .

Очень неудобно

Некоторые пользователи Mutt, похоже, рекомендуют передавать сообщения в munpack (пример сообщения связан). Хорошая идея - но как заставить Mutt запрашивать каталог назначения (как часть munpackвызывающего макроса)?

Как мне построить такой макрос? Или есть лучшие решения этой проблемы?

maxschlepzig
источник
Я считаю, что причина, по которой никто не ответил на ваш вопрос с помощью макроса mutt, заключается в том, что <tag-pattern>он не работает в режиме вложения. Поэтому нет способа программно пометить все вложения (необходимое условие, чтобы иметь возможность сделать что-то полезное со всеми из них).
g33kz0r

Ответы:

14

Вы можете передать сообщение в ripmime , что позволит вам указать каталог назначения в командной строке ... например:

ripmime -i - -d ~/myfiles/

-i -Говорит ripmimeчитать из стандартного ввода, и -dопределяет каталог назначения. Если это слишком много печатать, вставьте его в скрипт оболочки и вызовите его (что также облегчит задачу, если вы захотите использовать другие ripmimeопции для управления его поведением).

Если вы добавите такой макрос в вашу конфигурацию:

macro index,pager X "<pipe-message>ripmime -i - -d "

Затем вы можете нажать «X», ввести каталог назначения и нажать <RETURN>для запуска команды.

larsks
источник
хорошо, это похоже на munpackподход - но как красиво интегрировать его в Mutt (через макрос, который запрашивает каталог назначения - такой, что вам не нужно использовать глобальный каталог)
maxschlepzig
Я обновил свой ответ с примером.
Жаворонки
хорошо, это проще, чем я думал - потому что макросы mutt - это просто последовательность нажатий клавиш. Таким образом, если вы просто пропустите a <return>в своем макросе, вы можете завершить интерактивное приглашение.
maxschlepzig
1
Фантастика! Жаль, что я могу проголосовать только один раз. Что действительно хорошо в этом решении, так это то, что оно работает и для нескольких сообщений. Просто пометьте их и ;|.
Арье Лейб Таурог
Очень хорошо, не работает для сообщения с несколькими тегами, @AryehLeibTaurog вы просто нажмите, tа затем X?
Alex