2013-08-30 14 views
2

我一起使用了emacs和gdb。每次我發出gdb-many-windows時,我都會打開下面的緩衝區。如何在使用gdb-many-windows模式時將源緩衝區保存在emacs的單獨窗口中

| GUD buffer (I/O of GDB)  | Locals/Registers buffer  | 

| Primary Source buffer  | I/O buffer for debugged pgm | 

| Stack buffer     | Breakpoints/Threads buffer | 

這很好。但是,因爲我需要深入瞭解代碼,並且我有多個顯示器。我希望將主源緩衝區(源代碼調試)保存在單獨的窗口中。其餘四個緩衝區一起顯示在另一個窗口中。

例如,在窗口1,我會

| Primary Source buffer  | 

窗口2中,我將有

| GUD buffer (I/O of GDB)  | Locals/Registers buffer  | 
|         | I/O buffer for debugged pgm | 
|         | Breakpoints/Threads buffer | 
|         | Stack buffer     | 

我該怎麼辦呢?我也希望這是默認的,每次我打開gdb-many-windows。謝謝

+0

你有沒有想過一個令人滿意的解決方案呢?我真的很想有這樣的事情。此外,當我點擊callstack窗口中的源文件時,GDB/GUD似乎也會在現有GDB窗口(如本地堆棧,comint緩衝區等)上分配源緩衝區。這使得使用GUD成爲非常痛苦的體驗。 – Nurpax

+0

對不起@Nurpax,我還沒有找到任何真正的解決方案... – thassan

回答

1

在emacs窗口是包含緩衝區的視圖。你想要做的是創建一個新框架來顯示其他緩衝區。你可以通過運行M-x new-frame來創建一個新框架,或者你可以做C-x 5 b source-code-buffer-name,它會在另一個框架中打開源代碼。還有C-x 5 o在幀之間切換。

我知道這並不完全是你要求的,但它可以成爲一些elisp腳本的起點,讓它達到你想要的位置。瞭解更多關於框架的知識。要了解更多關於emacs中的框架,你可以去https://www.gnu.org/software/emacs/manual/html_node/emacs/Frames.html#Frames

相關問題