Làm cách nào để buộc một bộ đệm cụ thể mở trong một cửa sổ mới?


12

Khi cam kết thay đổi trong Magit, sẽ hữu ích khi mở chế độ xem khác trong khi thêm chi tiết về cam kết.

Trong Magit, chúng ta thấy khác biệt trong *magit ..*bộ đệm. Khi bạn nhấn cctrong khi con trỏ ở trên tệp Staged , bộ đệm cam kết Magit sẽ .. COMMIT_EDITMSGbật lên. Theo mặc định, bộ đệm mới này thay thế *magit ..*bộ đệm đang hiển thị các khác biệt cam kết.

CÂU HỎI - Làm cách nào để .. COMMIT_EDITMSGmở bộ đệm trong một cửa sổ mới (sử dụng lại một cửa sổ khác hoặc tạo một cửa sổ mới nếu khung chỉ có 1 cửa sổ để bắt đầu) để tôi có thể nhìn thấy cả bộ đệm *magit ..*.. COMMIT_EDITMSGbộ đệm?


Câu trả lời:


17

Có thể định cấu hình cách bộ đệm mở (trong cùng khung / cửa sổ hoặc khung / cửa sổ khác) bằng cách sử dụng display-buffer-alist. Tham khảo các tài liệu tham khảo dưới đây để tìm hiểu thêm về biến này.

Giải pháp

Chúng ta cần nói với emacs luôn mở bộ đệm kết thúc bằng COMMIT_EDITMSGtrong một cửa sổ nhưng không phải trong cùng một *magit ..*cửa sổ ( ).

Thêm đoạn mã init.elsau (require 'magit)vào sau để chỉ định hành động này.

(add-to-list 'display-buffer-alist
                 '(".*COMMIT_EDITMSG". ((display-buffer-pop-up-window) .
                                        ((inhibit-same-window . t)))))

Sự cố

display-buffer-alistlà một alistlệnh gọi một FUNCTION(hoặc một danh sách các hàm) với ALISTcác tham số khi a CONDITIONđúng. Có display-buffer-alistthể được đại diện như,

'(CONDITION . (FUNCTION . ALIST))
  • Đây CONDITIONlà tên bộ đệm kết thúc bằng COMMIT_EDITMSGvà được đại diện bởi ".*COMMIT_EDITMSG".
  • Cuộc FUNCTIONgọi là display-buffer-pop-up-windownhư chúng ta muốn tạo một cửa sổ cho bộ đệm này. Thay vì chỉ định chức năng, nó được đặt dưới dạng danh sách một chức năng (display-buffer-pop-up-window)để có thể dễ dàng thêm nhiều chức năng vào danh sách nếu cần trong tương lai.
  • Các ALISTchứa (inhibit-same-window . t)như chúng tôi không muốn đệm này để mở trong cùng một cửa sổ.

Người giới thiệu


2

Bắt đầu với v2.1.0Magit theo mặc định hiển thị các thay đổi đang được cam kết cùng với bộ đệm được sử dụng để viết thông điệp cam kết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.