mutt: บันทึกข้อความไปยังโฟลเดอร์เฉพาะ


15

ฉันมีหลายโฟลเดอร์ที่กำหนดไว้ใน Mutt:

mailboxes           "~/Mail/inbox"
mailboxes           "~/Mail/sent"
mailboxes           "~/Mail/archive"

ฉันสามารถบันทึก (ย้าย) ข้อความที่จะเก็บถาวรโดยกดsแล้ว?เพื่อดูรายการโฟลเดอร์และจากนั้นฉันสามารถเลือกarchiveจากรายการ

เนื่องจากฉันต้องการบันทึกเฉพาะในarchiveฉันจึงอยากมีมาโครเพื่อให้การกดsบันทึกข้อความที่เลือกไว้โดยอัตโนมัติarchiveโดยไม่ต้องถามฉัน

มีใครช่วยได้บ้าง

แก้ไข: ตอนนี้ฉันมีมาโครต่อไปนี้เพื่อบันทึกข้อความไปยังโฟลเดอร์ "เก็บถาวร" ของฉัน:

macro index,pager S "<tag-prefix><save-message>=archive<enter>\
  :set delete=yes<enter><sync-mailbox>:set delete=no<enter>"

ปัญหาคือข้อความที่อยู่ในดัชนีทำเครื่องหมายว่าถูกลบ พวกเขาจะไม่ "ซิงค์" ทันที ประการที่สอง<enter>ตอนท้ายทำหน้าที่เป็น<display-message>เพื่อที่เมื่อฉันกดSฉันลงเอยด้วยเพจเจอร์ของข้อความปัจจุบัน

ในทำนองเดียวกันฉันพยายามใช้trashโฟลเดอร์เป็น mutt ข้อมูลต่อไปนี้นำมาจากMutt MacroSamples

set maildir_trash=yes
set wait_key=no
folder-hook . 'bind index q quit'
folder-hook inbox 'macro index q ":unset maildir_trash;push \"T~D\\n<tag-prefix-cond>m=trash\\n<end-cond><quit>\"\n"'

แต่มันก็ไม่ได้ผลเหมือนกัน Instt mutt ถามฉัน:

Append messages to etmaildir_trash;push"T~D\n<tag-prefix-cond>m=trash\n<end-cond><quit>"/maildir_trash;push"T~D\n<tag-prefix-cond>m=trash\n<end-co ([yes]/no):

สิ่งที่ฉันกดไม่มีอะไรเกิดขึ้น (ถังขยะโฟลเดอร์ / {cur, ใหม่, tmp} มีอยู่)


มันทำให้งงที่<sync-mailbox>ดูเหมือนจะไม่ทำอะไรเลย เมื่อคุณใช้คำสั่งลบปกติ ( d) และข้อความที่เหลืออยู่ในดัชนีที่ทำเครื่องหมายว่าถูกลบจะเกิดอะไรขึ้นเมื่อคุณกด$(ซึ่งเป็นค่าเริ่มต้นสำหรับการผูก<sync-mailbox>)
ewhac

เมื่อกดโง่ถามฉัน$ Purge 1 deleted message?ฉันสามารถกดYซึ่งจะลบข้อความ
user1968963

มีความคิดเกิดขึ้น: <sync-mailbox>คำสั่งคาดหวังว่าผู้ใช้จะป้อนข้อมูล ( y) แต่เห็นสิ่งที่ตามมาทันที:แทนดังนั้นการลบจะไม่เกิดขึ้น ฉันสงสัยว่าจะเกิดอะไรขึ้นถ้าคุณใส่yหลังจากนั้น ...
ewhac

คำตอบ:


17

อีเมลที่ติดแท็ก:

macro index S ":set confirmappend=no delete=yes\n<tag-prefix-cond><save-message>=archive\n<sync-mailbox>:set confirmappend=yes delete=ask-yes\n"

ปัจจุบันเท่านั้น:

macro index A ":set confirmappend=no delete=yes\n<save-message>=archive\n<sync-mailbox>:set confirmappend=yes delete=ask-yes\n"

แก้ไข

macro index S ":set confirmappend=no delete=yes\n<tag-prefix><save-message>=archive\n<sync-mailbox>:set confirmappend=yes delete=ask-yes\n"

ความผิดของฉันที่ใช้tag-prefixแทนtag-prefix-condจะใช้แมโครกับข้อความที่ติดแท็กหากมีอยู่มิฉะนั้นเป็นปัจจุบันที่เลือกไว้


เมื่อฉันเพิ่มแมโครของคุณและเริ่ม mutt และ pres S, mutt พูดว่า:nothing to do
user1968963

คุณtมีจดหมายบ้างไหม?
อเล็กซ์

มันใช้งานได้ดี ฉันจะทำให้มันทำงานกับข้อความปัจจุบันได้อย่างไร (โดยไม่ต้องติดแท็กก่อน)
user1968963

1
@ user1968963 ดูการอัปเดต
อเล็กซ์

1
@ user1968963 อาจจะใช้ tag-prefix-cond เพื่อตั้งค่าคำสั่ง / ตัวแปรที่แตกต่างกัน (สำหรับความเข้าใจของฉันจะดำเนินการเฉพาะในกรณีที่มีแท็กจดหมาย) ฉันจะลอง แต่จะต้องใช้เวลาจะแจ้งให้คุณทราบ
อเล็กซ์

3

คู่มือโง่มีแมโครตัวอย่างสำหรับกรณีการใช้งานของคุณ:

ดัชนีมาโคร <tag-prefix-cond> <save-message> = foo <enter> "บันทึกข้อความที่ติดแท็ก (ถ้ามี) เพื่อ = foo"

คุณสามารถใช้มันในกรณีของคุณเช่น:

macro index,pager A  "<save-message>=Mail/archive<enter>"  "mark message as Archived"

การกดปุ่มShiftaในมุมมองดัชนีหรือเพจเจอร์จะเป็นการบันทึกข้อความลงในไฟล์เก็บถาวรเมลของคุณ


มีปัญหาเล็ก ๆ สองข้อในการแก้ปัญหานี้: 1) ฉันสามารถ "บันทึก" ทีละข้อความเท่านั้น ฉันไม่สามารถแท็กข้อความหลายข้อความและบันทึกทั้งหมดเพื่อเก็บถาวร 2) เมื่อฉัน "บันทึก" ข้อความจะยังคงปรากฏในกล่องจดหมายที่ทำเครื่องหมายว่าถูกลบ เป็นไปได้หรือไม่ที่จะใช้การเปลี่ยนแปลงทันที (เพื่อให้ถูกลบทันทีจากกล่องจดหมาย)?
user1968963
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.