Saat ini saya bekerja dengan ruby dan rspec. Saya sangat menyukai gagasan memiliki bingkai terpisah di monitor lain yang menunjukkan kepada saya buffer kompilasi. Pengaturan saya saat ini menggunakan bingkai 'kode' (di mana saya melakukan pekerjaan sebenarnya) dan kerangka 'hasil-tes' (di mana saya melihat hasil rspec)
Masalahnya adalah bahwa ketika saya mencoba untuk membuka beberapa kesalahan kompilasi atau file dalam frame 'test-hasil', perpecahan jendela yang bingkai. Yang benar-benar ingin saya lakukan adalah membukanya di bingkai 'kode' saya.
Saya sudah menggunakan opsi display-buffer-reuse-frames
. Saya juga mencoba untuk mengatur jendela hasil kompilasi dedicated
, tetapi setiap kali emacs mencoba membuka jendela baru, bingkai baru akan dibuat (yang sangat buruk jika Anda menggunakan Helm.)
Apakah ada cara mudah untuk mencapai ini?
popwin.el
dari MELPA untuk mengkompilasi popup dan membantu buffer yang bertahan sampaiC-g
ditekan. Jika saya membutuhkan mereka penuh waktu, saya hanya beralih ke mereka di jendela lain. Saya belum berpikir tentang menyematkan windows karena emacssplit-windows-sensibly
.Jawaban:
Anda perlu mengkonfigurasi gorilla 600 pon
display-buffer-alist
yang menentukan bagaimanadisplay-buffer
memilih tempat untuk menampilkan buffer. Itu membuatdisplay-buffer-reuse-frames
usang di emacsen yang lebih baru. Berikut adalah konfigurasi yang harus memandu Anda (minimal dalam emacs 24.3).Seperti yang Anda lihat, saya menggunakan regexp untuk mencocokkan buffer-log kompilasi. Dokumentasi
display-buffer
harus memberi Anda gambaran tentang apa yang terjadi. Hanya perlu diingat bahwa itu bukan bagian dokumentasi yang paling menyenangkan yang pernah Anda baca. Saya menambahkannya secara berurutan sehingga compexp-log regexp akan dicocokkan sebelum regexp generik. Sesuaikan regexp dengan kebutuhan Anda.EDIT Untuk membuat frame apa pun tidak dapat dilepas, Anda dapat mengevaluasi
M-: (set-frame-parameter nil 'unsplittable t)
dalam frame tertentu. Ganti nil dengan yang dimintaFRAME
jika melakukannya dari elisp. Di antara kedua pengaturan ini, itu harus membuat frame kompilasi eksklusif kecuali Anda secara khusus menemukan file dalam frame itu.sumber