Как прикрепить несколько файлов в `message-mode`?


10

Чтобы прикрепить один файл в режиме сообщений (например, при отправке сообщений из Gnus), нужно сделать один C-c C-a. Каков рекомендуемый способ прикрепления нескольких файлов?

Повторение C-c C-aможет стать утомительным через некоторое время, потому что оно задает три вопроса каждый раз.


Существует два общих подхода: (1) получить список файлов и зациклить список - например, mapcar- и прикрепить один раз для каждого элемента; или (2) создайте цикл, который автоматически запрашивает да / нет, чтобы присоединить другой, и нет прерывает цикл. Я предпочитаю подход со списком файлов, и я использую настоящий файловый менеджер для Emacs с древовидным представлением (чтобы одновременно выбирать отмеченные файлы в нескольких каталогах для присоединения); однако это требует передовых elispмодификаций. Большинство людей придерживаются dired-modeи dired-get-marked-filesи есть способ работать на нескольких открытых dired-modeбуферов.
юрист

@lawlist Спасибо. Я действительно хотел бы подход списка файлов. Я, очевидно, не хочу каждый раз писать цикл lisp, поэтому моя цель - получить команду. Я пока не уверен, как должен выглядеть интерфейс. Я подумаю немного больше и напишу код, если готовых решений не существует.
YoungFrog

Ответы:


19

Откройте каталог diredс помощью C-x 4 dи введите M-x turn-on-gnus-dired-mode. Затем отметьте необходимые файлы с m(или как угодно) и введите C-c RET C-a. Теперь файлы могут быть прикреплены к уже открытому буферу сообщений или назначены новому.


Хотелось бы, чтобы была такая же настройка, как у mu4e
Андре

-1

Прикрепить файл в Emacs - это просто вставить кусок строки, содержащий пути к файлу, вы можете использовать yasnippet для создания фрагментов для вас.

Вот шаги:

  • в оболочке используйте find / ls, чтобы создать список файлов для прикрепления

  • используйте инструмент cli clip (putclip на cygwin, pbpaste на Mac, xsel / xclip на linux) для передачи списка файлов в yasnippet


Был бы полезен пример чанка
Дитер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.