A geração da agenda de hoje no Org-Mode ( C-c a a
) abre os arquivos org-agenda-files
. Não quero que o Emacs abra esses buffers extras.
Existe uma maneira fácil de dizer ao Emacs para não abrir esses buffers? (ou o que é o mesmo, para fechá-los automaticamente se eles não estivessem abertos antes de chamar a agenda?).
ATUALIZAR:
Esta é uma versão mais compacta da solução fornecida pelo @lawlist:
(require 'dash)
(defun my-org-keep-quiet (orig-fun &rest args)
(let ((buffers-pre (-filter #'get-file-buffer (org-agenda-files))))
(apply orig-fun args)
(let* ((buffers-post (-filter #'get-file-buffer (org-agenda-files)))
(buffers-new (-difference buffers-post buffers-pre)))
(mapcar (lambda (file) (kill-buffer (get-file-buffer file))) buffers-new))))
(advice-add 'org-agenda-list :around #'my-org-keep-quiet)
(advice-add 'org-search-view :around #'my-org-keep-quiet)
(advice-add 'org-tags-view :around #'my-org-keep-quiet)
Lamentavelmente, isso ainda não é perfeito, pois agora, clicar em um evento na agenda não abre o arquivo organizacional correspondente.
fonte
describe-mode
.Os
org-agenda-files
buffers não devem ser eliminados até que as funções de pesquisa sejam concluídas. Os três (3) a maioria das funções de pesquisa comum utilizados para gerar um*Org Agenda*
tampão são os seguintes:org-agenda-list
;org-search-view
; eorg-tags-view
.org-agenda-files
é uma variável e uma função - dois animais diferentes, mas relacionados.fonte
around
comadvice
.*Org-Agenda*
buffer é apenas uma cópia e cola doorg-agenda-files
[tipo de, ele é realmente empurrado para uma lista e depois reorganizado e inserido no*Org-Agenda*
buffer]. Ao editar, um usuário volta ao originalorg-agenda-files
para fazer a edição, que as funções de edição assumem já estar aberta. Se você realmente precisar fechar aorg-agenda-files
tela quando não estiver em uso, precisará revisar as funções de edição para abrir o arquivo necessário e depois fechá-lo novamente quando terminar. Também pode haver outros problemasDepois de abrir a agenda, basta sair dela pressionando x no buffer da agenda a qualquer momento. Se você usar q na agenda, manterá todos os buffers abertos.
fonte
user2699
que foi publicado em 19 de Fevereiro de 2016.Mudei para o novo fluxo de trabalho no modo organizacional.
Anteriormente eu uso:
NOTE.org
como armazenamento principal para notas de forma livre editadas manualmente com encadernação de teclas para acesso rápido a este arquivoTODO.org
paraorg-remember
ou(lambda () (interactive) (org-capture nil "t"))
TODO.org
Eu visito apenas via C-c a a. MasNOTE.org
torne-se inalterável com tamanho maior que 1 MiB de texto sem formatação.Então eu dividir este arquivo principais temas distintos fáceis, como
LEARNING.org
,PURCHASES.org
,emacs-python.org
,linux.org
,vps.org
, ...Em vez de manter a lista de nomes possíveis, especifiquei o diretório:
Fico feliz com essa configuração, pois posso encontrar rapidamente o tópico necessário, alternando para o buffer (por IDO, através de um nome de arquivo significativo) e pesquisando (por C-s) em espaço limitado.
Todas as agendas disponíveis C-c a aem todos os
.org
arquivos.Mas agora tenho muitos
.org
arquivos não utilizados abertos, após os C-c a aquais devo matar quando eles aparecerem durante as opções de buffer.Eu acho que esse relatório de bug deve ser enviado:
http://debbugs.gnu.org/cgi/bugreport.cgi?archive=yes&bug=22734
fonte