Mover artigos existentes para outro grupo no Gnus

1

Eu configurei nnmail-split-methods para separar e-mails provenientes de minha lista de discussão de qualquer outra coisa:

(setq nnmail-split-methods '(("vladimir.lenin" "From:.*vladimir\.lenin")
                             ("mail.misc" "")))

O novo e-mail será exibido em vladimir.lenin group, mas os já existentes continuarão em mail.misc . Como faço para mover rapidamente todos os artigos que correspondem à regex de um grupo para outro?

    
por Mirzhan Irkegulov 17.03.2014 / 07:45

1 resposta

1

Esta é a minha solução provavelmente excessiva e sub-ótima, já que não consegui encontrar o caminho idiomático. As atalhos de teclado padrão para cada comando são dadas entre parênteses.

Primeiro, defina a variável gnus-move-split-methods semelhante à sua variável nnmail-split-methods . Observe que a sintaxe na variável 1 st é ("^From:.*eliezer" "mail.hpmor") , enquanto na variável 2 nd é ("mail.hpmor" "^From:.*eliezer") . Por exemplo, meu gnus-move-split-methods é:

(setq gnus-move-split-methods
      '(("^Sender:.*abbie.*" "mail.abbie")
        ("" "mail.misc")))

Abra o grupo e mostre todos os artigos. Ligue para gnus-summary-limit-to-headers (< kbd> / h ) e especifique regex (no meu exemplo "Sender:.*abbie" ) para mostrar apenas os artigos que você deseja mover.

Use macros de teclado para facilitar a movimentação, inicie a macro por kmacro-start-macro ( Cx (), mova seu primeiro artigo com gnus-summary-move-article B m , em seguida, repita a macro por kmacro-end-and-call-macro ( Cx e ) e especifique o número de repetições com um argumento universal ( Cu ).

Se você não sabe quantas vezes deve repetir a macro, pode contar o número de artigos deixados selecionando todos ( mark-whole-buffer ) e contando com count-words-region . Não use 0 como um artigo universal, pois, por algum motivo, ele não será concluído. Lembre-se, como os e-mails são movidos fisicamente de uma pasta para outra, toda a operação pode levar tempo dependendo de quantos e-mails você tem.

Se você usa nnml como um back-end de e-mail, execute gnus-group-compact-group ( G z ) no seu grupo, para que o Gnus forneça a contagem correta de artigos. Isso também pode levar tempo dependendo da quantidade de correspondência.

Notas:

  • Como você vê, porque você definiu gnus-move-split-methods , quando você move o artigo, o grupo padrão proposto no prompt está correto.
  • gnus-summary-toggle-header ( t ) é útil para encontrar qual cabeçalho você precisa filtrar.
  • Às vezes, não há Sender: header, então eu uso Cc:.*abbie regexp também. Você pode ver que os cabeçalhos são frequentemente inconsistentes, por isso tenha cuidado.
por 20.04.2014 / 19:49