2012-05-09 29 views
5

Làm cách nào để hiển thị một bộ đệm theo trình tự trong một cửa sổ other than the current, tương tự như hành vi của Emacs 'grep next-error. Tôi muốn điều này làm việc trong các Emacs gần đây nhất 24.1. Lưu ý rằng logic này gần đây đã được sửa đổi trong thân cây Emacs và sáp nhập vào một hàm duy nhất display-buffer với ngữ nghĩa gọi khá phức tạp. Tôi thấy khó để tìm hiểu cách sử dụng display-buffer ngay cả sau khi đã đọc trợ giúp về nó nhiều lần. Tại sao không có chức năng bao bọc cho điều này chẳng hạn như display-buffer-other-window?Hiển thị bộ đệm trong cửa sổ khác trong các Emacs gần đây

Trả lời

2

Nguồn Emacs đã cho tôi câu trả lời

(pop-to-buffer BUFFER 'other-window) 
4

Các docstring dài để display-buffer bao gồm:

Đối số ACTION để 'trưng bày-đệm' cũng có thể có một tổ chức phi nil và giá trị không phải danh sách. Điều này có nghĩa là để hiển thị bộ đệm trong một cửa sổ khác với vùng được chọn, ngay cả khi nó đã được hiển thị trong cửa sổ đã chọn. Nếu được gọi tương tác với một đối số tiền tố, ACTION là t.

Do đó để hiển thị một bộ đệm quy định trong một cửa sổ khác so với hiện tại, bạn có thể sử dụng:

(display-buffer BUFFER-OR-NAME t) 
+0

Điều này khác nhau như thế nào về hành vi của '(pop-to-buffer BUFFER 'other-window)'? –

+1

'display-buffer' không chọn cửa sổ. 'pop-to-buffer' gọi display-buffer, và sau đó chọn cửa sổ. Lưu ý rằng ACTION ''other-window' giống hệt với' t' (nghĩa là "giá trị phi nil và không phải danh sách"), và không dẫn đến hàm 'other-window' được sử dụng để xác định cửa sổ , như nó có thể nhìn; nó chỉ gây ra 'ức chế-cùng-cửa sổ' được thiết lập. – phils

2

Và wrapper tồn tại, BTW, nó được gọi là switch-to-buffer-other-window.

Các vấn đề liên quan