Q : làm thế nào tôi có thể kiểm soát nơi org
bộ đệm từ khóa todo xuất hiện?
Nhập todo
từ khóa bằng C-c C-t
( org-todo
) sẽ mở bộ đệm mới với các tùy chọn từ khóa và sau đó đóng lại sau khi tôi chọn một từ khóa. Càng xa càng tốt. Tuy nhiên, phải mất một cửa sổ khác để làm như vậy, điều này ít tốt hơn, đặc biệt là vì nó thực sự chỉ cần hiển thị một hoặc hai dòng với các từ khóa.
Vì vậy, với cách bố trí sau, nhấn C-c C-t
trong khi ở cửa sổ bên trái ( some-org-buffer
) sẽ mở *Org todo*
trong cửa sổ bên phải:
+---------------------+---------------------+
| | |
| | |
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
| | |
| | |
+---------------------+---------------------+
Thay vào đó, tôi muốn có một cửa sổ nhỏ bật lên dưới dạng phân chia theo chiều dọc, như dưới đây:
+---------------------+---------------------+
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
+---------------------+ |
| | |
| *Org todo* | |
| | |
+---------------------+---------------------+
Nắm bắt từ
câu trả lời này , tôi đã viết một chức năng để đưa vào display-buffer-alist
:
(defun org-todo-position (buffer alist)
(let ((win (car (cl-delete-if-not
(lambda (window)
(with-current-buffer (window-buffer window)
(memq major-mode
'(org-mode org-agenda-mode))))
(window-list)))))
(when win
(let ((new (split-window win -5 'below)))
(set-window-buffer new buffer)
new))))
(add-to-list 'display-buffer-alist
(list " \\*Org todo\\*" #'dan-org-todo-position))
Tuy nhiên, điều đó không làm việc. Thở dài. Tôi đã làm gì sai với display-buffer-alist
? Hơn nữa, làm cách nào để todo
bộ đệm từ khóa của tôi
bật lên nơi tôi muốn?
org-switch-to-buffer-other-window
và một loạt các org
bộ phận xấu xí khác . Xem câu trả lời cho "giải pháp".
win
. Có một lý do bạn không thể chỉ sử dụng (selected-window)
ở đây?
org-switch-to-buffer-other-window
để làm những gì bạn muốn - bạn có thể tạo một điều kiện làm bất cứ điều gì bạn muốn.