ถาม : ฉันจะควบคุมตำแหน่งที่จะให้org
บัฟเฟอร์คำหลักที่ต้องทำปรากฏได้อย่างไร
การป้อนtodo
คำหลักด้วยC-c C-t
( org-todo
) จะเปิดบัฟเฟอร์ใหม่พร้อมตัวเลือกคำหลักแล้วปิดอีกครั้งหลังจากที่ฉันเลือก จนถึงตอนนี้ดีมาก อย่างไรก็ตามจะใช้เวลาข้ามหน้าต่างอื่นในการทำเช่นนั้นซึ่งไม่ค่อยดีนักโดยเฉพาะอย่างยิ่งเนื่องจากต้องการแสดงบรรทัดหนึ่งหรือสองด้วยคำหลัก
ดังนั้นด้วยรูปแบบต่อไปการกดปุ่มC-c C-t
ในขณะที่อยู่ในหน้าต่างด้านซ้าย ( some-org-buffer
) จะเปิด*Org todo*
ในหน้าต่างด้านขวา:
+---------------------+---------------------+
| | |
| | |
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
| | |
| | |
+---------------------+---------------------+
แต่ฉันต้องการให้มีหน้าต่างเล็ก ๆ ปรากฏขึ้นแยกเป็นแนวตั้งดังนี้:
+---------------------+---------------------+
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
+---------------------+ |
| | |
| *Org todo* | |
| | |
+---------------------+---------------------+
จาก
คำตอบนี้ฉันเขียนฟังก์ชันเพื่อใส่ลงไปใน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))
อย่างไรก็ตามนั่นล้มเหลวในการทำงาน ถอนหายใจ ข้าพเจ้าได้กระทำอะไรผิดปกติกับdisplay-buffer-alist
? ยิ่งกว่านั้นฉันจะทำให้todo
บัฟเฟอร์คำหลักของฉัน
ปรากฏขึ้นที่ที่ฉันต้องการได้อย่างไร
org-switch-to-buffer-other-window
น่าเกลียดอื่น org
ดูคำตอบสำหรับ "วิธีแก้ปัญหาที่น่าอับอาย"
win
คุณ มีเหตุผลที่คุณไม่สามารถใช้(selected-window)
ที่นี่ได้หรือไม่?
org-switch-to-buffer-other-window
สิ่งที่คุณต้องการคุณสามารถสร้างเงื่อนไขที่ทำสิ่งที่คุณต้องการ