2013-07-15 35 views
5

Tôi đang sử dụng gdb dưới emacs. Trong một phiên gỡ lỗi, khi emacs/gdb nhảy tới mã nguồn, tôi thường mở một khung khác (C-x 5 2) và kéo nó lên màn hình thứ hai của tôi. Sự cố xảy ra khi tệp mã nguồn mới cần được mở (ví dụ: khi chương trình nhập một hàm được xác định trong tệp nguồn khác, đi bộ ngăn xếp, v.v ...), emacs có xu hướng tự động mở mã nguồn tương ứng trong một cửa sổ mới, nhưng không may trong khung gdb.Điều khiển bộ đệm khi sử dụng gdb dưới emacs

Tôi muốn nó kéo mã nguồn mới vào khung mới tôi mở ra và để khung gdb hoàn toàn bị ảnh hưởng. Câu hỏi của tôi là:

Làm cách nào tôi có thể đặt các emacs để mở bất kỳ tệp mới nào sao cho tệp được hiển thị trong khung mới?

Tôi hy vọng tôi có ý nghĩa.

Trả lời

0

Không phải là câu trả lời đơn giản, nhưng mục nhập thích hợp trong bộ đệm hiển thị có thể cho biết bộ đệm hiển thị luôn sử dụng khung bạn muốn làm đích cho bộ đệm mới.

Trong 24.1, doc là:

hiển thị-đệm-alist là một biến định nghĩa trong `window.el'. Giá trị của nó là nil

Biến này có thể nguy hiểm nếu được sử dụng làm biến tệp cục bộ.

Tài liệu: Nắm vững các hành động có điều kiện cho `bộ đệm hiển thị '. Đây là danh sách các yếu tố (Điều kiện hoạt động.), Trong đó:

ĐIỀU KIỆN hoặc là một tên đệm phù hợp với regexp, hoặc một hàm mà phải mất hai đối số - một tên đệm và lập luận HÀNH ĐỘNG của 'màn hình-đệm '- và trả về một boolean.

ACTION là ô khuyết điểm (FUNCTION. ALIST), trong đó FUNCTION là một hàm
hoặc danh sách hàm. Mỗi chức năng như vậy phải chấp nhận hai đối số: một bộ đệm để hiển thị và một danh sách có cùng dạng như ALIST. Xem `bộ đệm hiển thị 'để biết chi tiết.

`bộ đệm hiển thị 'quét lần lượt này cho đến khi tìm thấy một biểu thức chính quy hoặc hàm được chỉ định bởi điều kiện trả về không phải là không. Trong bất kỳ trường hợp nào trong số này, nó sẽ thêm hành động liên quan vào danh sách hành động mà nó sẽ thử.

Bạn có thể tùy chỉnh biến này.

Biến này đã được giới thiệu hoặc giá trị mặc định của nó đã được thay đổi, trong phiên bản 24.1 của Emacs.

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