Membuat agenda hari ini di Mode-Org ( C-c a a
) membuka file-file di org-agenda-files
. Saya tidak ingin Emacs membuka buffer tambahan ini.
Apakah ada cara mudah untuk memberi tahu Emacs untuk tidak membuka buffer ini? (atau apa yang sama, untuk secara otomatis menutupnya jika tidak dibuka sebelum memanggil agenda?).
MEMPERBARUI:
Ini adalah versi yang lebih ringkas dari solusi yang disediakan oleh @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)
Sayangnya, ini masih belum sempurna, karena sekarang mengklik suatu acara di agenda tidak membuka file org yang sesuai.
sumber
describe-mode
.The
org-agenda-files
penyangga (s) harus tidak dibunuh sampai setelah fungsi pencarian telah selesai. Tiga (3) sebagian besar fungsi pencarian umum yang digunakan untuk menghasilkan*Org Agenda*
penyangga adalah:org-agenda-list
;org-search-view
; danorg-tags-view
.org-agenda-files
keduanya merupakan variabel dan fungsi - dua hewan yang berbeda, tetapi terkait.sumber
around
denganadvice
.*Org-Agenda*
buffer hanya berupa salin dan tempel dariorg-agenda-files
[jenis, itu sebenarnya didorong ke dalam daftar dan kemudian direorganisasi dan dimasukkan ke dalam*Org-Agenda*
buffer]. Saat mengedit, pengguna melompat kembali ke aslinyaorg-agenda-files
untuk melakukan pengeditan, yang diasumsikan fungsi pengeditan sudah terbuka. Jika Anda benar-benar harusorg-agenda-files
menutup ketika tidak digunakan, maka Anda harus merevisi fungsi pengeditan untuk membuka file yang diperlukan dan kemudian menutupnya lagi setelah selesai. Mungkin juga ada masalah lainSetelah Anda membuka agenda, keluar saja dengan menekan x pada buffer agenda setiap saat. Jika Anda menggunakan q untuk cukup agenda, itu akan membuat semua buffer terbuka.
sumber
user2699
yang diposting pada 19 Februari 2016.Saya beralih ke alur kerja mode-org baru.
Sebelumnya saya menggunakan:
NOTE.org
sebagai penyimpanan utama untuk catatan formulir gratis yang diedit dengan tangan dengan kunci mengikat untuk akses cepat ke file iniTODO.org
untukorg-remember
atau(lambda () (interactive) (org-capture nil "t"))
TODO.org
Saya mengunjungi hanya melalui C-c a a. TetapiNOTE.org
menjadi tidak dapat dipelihara dengan ukuran lebih besar dari 1 MiB teks biasa.Jadi saya membagi file ini dengan topik dibedakan utama mudah, seperti
LEARNING.org
,PURCHASES.org
,emacs-python.org
,linux.org
,vps.org
, ...Alih-alih mempertahankan daftar nama yang mungkin saya tentukan direktori:
Saya senang dengan pengaturan ini karena saya dapat dengan cepat menemukan topik yang diperlukan melalui beralih ke buffer (dengan IDO melalui nama file yang bermakna) dan mencari (oleh C-s) dalam ruang terbatas.
Semua jadwal tersedia melalui C-c a asemua
.org
file.Tapi sekarang saya memiliki banyak
.org
file yang tidak terpakai yang dibuka dan setelah C-c a aitu saya harus membunuh ketika mereka muncul selama switch buffer.Saya pikir laporan bug harus diserahkan:
http://debbugs.gnu.org/cgi/bugreport.cgi?archive=yes&bug=22734
sumber