Satu jendela per proyek

9

Saya sedang mengerjakan beberapa proyek sekarang. Saya ingin satu contoh Emacs untuk menangani semuanya. Yang saya inginkan adalah perilaku seperti tmux di mana setiap 'jendela' (dalam arti Emacs) sesuai dengan proyek yang berisi buffer file yang terkait dengan proyek itu. Ada beberapa jendela, dengan masing-masing sesuai dengan proyek dan saya harus dapat beralih di antara mereka (sesuatu yang mirip dengan C-b w)

Apakah fungsi ini sudah ada dalam beberapa bentuk? Saya kira itu akan keren untuk dimiliki karena opsi lainnya adalah:

  • Minta beberapa contoh Emacs terbuka.
  • Memiliki semua file dari semua proyek dalam satu contoh yang membuat pergantian penyangga menjadi sulit.
sudeepdino008
sumber
2
Untuk manajemen proyek, sudahkah Anda mencoba perspektif ?
cutejumper
Coba posting blog ini di Emacs sebagai terminal multiplexer canggih : Anda akan mendapatkan perilaku seperti Tmux. Saya baru saja menemukannya, menjalankannya dan melakukan apa yang diiklankan. Di atas Anda akan mendapatkan ace-jump-mode, itu sendiri solusi keren untuk dengan cepat melompat-lompat dengan kursor Anda dalam buffer (jika Anda belum memilikinya).
Jika Anda ingin menginvestasikan waktu pengaturan awal untuk menentukan kondisi untuk proyek, Anda dapat mengalokasikannya untuk masing-masing satu frame dan menggunakannya frame-bufs. Lihat juga Cara mencegat file sebelum dibuka dan memutuskan frame mana - stackoverflow.com/questions/18346785/… - untuk menampilkan buffer dalam bingkai target, dan Anda dapat menggunakan frame-buffs--add-bufferbersama-sama untuk membuat frame terkait. Anda dapat menikah frame-bufsdengan tabbardan mengaitkan / menghapus buffer secara dinamis: emacs.stackexchange.com/a/10112/2287
lawlist
Berikut ini tautan untuk frame-bufsmengaitkan buffer dengan bingkai tertentu: github.com/alpaker/Frame-Bufs/blob/master/frame-bufs.el
hukum
Perspektif @cutejumper sempurna. Anda bisa menuliskannya sebagai jawaban agar saya bisa mencentangnya dengan benar.
sudeepdino008

Jawaban:

7

Anda dapat menggunakan perspektif untuk mengelola proyek. Dari README-nya:

perspektif.el menyediakan beberapa ruang kerja (atau "perspektif") untuk setiap bingkai Emacs. Ini membuatnya mudah untuk bekerja pada banyak proyek terpisah tanpa tersesat di semua buffer.

Setiap perspektif terdiri dari konfigurasi jendela dan satu set buffer. Beralih ke perspektif mengaktifkan konfigurasi jendelanya, dan ketika dalam perspektif hanya penyangga yang tersedia secara default.

Ada juga versi lain persp-mode , yang sedikit berbeda dari yang asli. Perspektif dibagi di antara frame dan negara dapat disimpan ke disk.

Jika Anda menggunakan proyektil , ada juga integrasi perspektif .

cutejumper
sumber
5

Anda dapat mencoba mode alis , yang mengelola beberapa tata letak jendela (mungkin rumit). Anda dapat beralih di antara konfigurasi jendela dengan penekanan tombol seperti C-c C-w 1dan C-c C-w 2.

Eric Brown
sumber
1
Alis berbagi buffer antara ruang kerja. Itu mungkin tidak diinginkan
sudeepdino008
2

Solusi "barebone" mungkin digunakan C-x r wuntuk merekam keadaan jendela saat ini dan C-x r juntuk kembali ke yang sebelumnya.

Stefan
sumber
2

Saya menggunakan kombinasi beberapa paket berbeda.

Yang paling penting, saya menggunakan Proyektil untuk mengerjakan "proyek" dan mencari file fuzzy. Saya menggunakan banyak bingkai, satu untuk setiap proyek yang sedang saya kerjakan. Anda benar-benar hanya perlu tahu C-x 5 2dan C-x 5 0membuat / membunuh bingkai. Untuk mengelola peralihan antar proyek dan untuk menyimpan keadaan konfigurasi / pemisahan jendela, saya menggunakan Workgroups for windows (untuk emacs) .

Saya suka pengaturan ini karena saya berpotensi menukar satu paket dengan yang lain.

Mike Nichols
sumber