Di emacs, bagaimana saya bisa membuka banyak file sekaligus?


10

Saat ini saya menggunakan C-xC-funtuk membuka file baru, tetapi itu cukup membosankan.


Apa tujuanmu Membuka banyak file sekaligus? Atau mengelola banyak file yang sudah dibuka?
viam0Zah

Atau apakah Anda hanya ingin melihat banyak file sekaligus? Karena Emacs menjaga semua file ini "terbuka" (dalam arti, mereka dimuat, tetapi tidak "terbuka" dalam "deskriptor file terbuka" pengertian).
Jürgen A. Erhard

Saya ingin mengedit beberapa file sumber suatu program
Yazz.com

Pergi melalui ini sebelum menggunakan emacs
overexchange

Jawaban:


19

Ketika Anda memuat file di Emacs dengan find-file (terikat Ctrl-x Ctrl-fsecara default), itu akan dimasukkan ke dalam "buffer". Selama Anda tidak mematikan buffer, ia tetap ada dalam memori, Anda tidak perlu memuatnya kembali.

Anda mengakses file yang sudah dimuat (buffer) dengan beralih-ke-buffer (terikat ke Ctrl-x b). Tekan tombol, lalu ketikkan nama buffer yang ingin Anda alihkan (secara default itulah nama dasar untuk file apa pun yang dimuat).

Anda juga dapat menekan Ctrl-x Ctrl-buntuk mendapatkan daftar buffer yang ada saat ini. Dan klik buffer apa saja di sana dengan mouse untuk beralih ke sana (IIRC, jarang menggunakan mouse dengan Emacs ;-))

Anda juga dapat membagi layar menjadi dua (atau lebih) bagian untuk melihat berbagai file (buffer) Ctrl-x 2. Awalnya, ini menunjukkan buffer yang sama dua kali. Beralih ke buffer lain di salah satu jendela untuk melihat file lain.


1
Cx 3 juga dapat digunakan untuk membagi layar menjadi dua, Cx 0 hanya menampilkan satu buffer sekaligus.
Rémi

3

Cx b dan Cx Cb adalah apa yang Anda inginkan. Pertimbangkan juga mencoba iswitchb atau ido. Karena saya mulai menggunakan yang saya harap setiap program yang saya gunakan dapat mengganti tab / windows / dokumen secepat dan semudah emacs. Seringkali saya memiliki 50 file atau lebih terbuka di emacs, Anda dapat menemukan yang Anda inginkan dengan sangat cepat dengan iswitchb atau ido.


1

Juga, jika Anda menggunakan versi grafis emacs, Anda dapat melakukan ctrl-x 5 b untuk membuka buffer yang ada di jendela baru (disebut frame in emacs-speak), atau ctrl-x 5 f untuk memuat file baru di jendela baru.


1
cx 5 b juga bekerja dalam tty, tetapi beralih frame menjengkelkan dalam mode tty :)
Justin Smith

@ Justin, terima kasih. Saya tidak pernah bermain dengan bingkai dalam tty. Apakah ada manfaat dari hanya menggunakan beberapa buffer.
KeithB

Anda dapat menggunakan frame vs windows seperti halnya Anda menggunakan ruang kerja vs windows di Linux window manager - yaitu. untuk bekerja pada frame kode elisp 1 memiliki dua jendela, satu dengan file info untuk elisp, yang lainnya dengan ielm untuk mencoba kode secara interaktif, frame 2 hanya memiliki satu jendela, dengan file apa pun yang sedang Anda edit (sehingga Anda bisa mendapatkan banyak garis yang terlihat) mungkin itu tidak dicentang). Dengan pengikat kunci yang layak untuk kerangka lainnya, ini bisa menjadi pengaturan yang sangat produktif jika Anda karena suatu alasan tidak ingin menjalankan X.
Justin Smith

0

Anda dapat dengan mudah membuka banyak file sekaligus (atau melakukannya dengan cara lain).

  1. Gunakan C-x duntuk mengunjungi direktori (folder), yang mencantumkan semua file dan subdirektori.

  2. Tandai file yang ingin Anda buka (atau untuk bertindak dengan cara lain). Anda dapat menandai file secara individu atau dalam kelompok berdasarkan berbagai karakteristik, termasuk pola nama file. Lihat menu-bar menu Tandai dan Tampilkan - ini menunjukkan kepada Anda beberapa kemungkinan penandaan yang tersedia, serta pintasan keyboard mereka.

Sebagai contoh:

  • % m menandai file yang namanya cocok dengan ekspresi reguler.

  • % g menandai file yang isinya cocok dengan ekspresi reguler.

  • * * menandai file yang dapat dieksekusi.

Untuk membuka semua file yang ditandai sekaligus, Anda harus memuat pustaka standar dired-x.el. Lakukan M-x load-library dired-xatau masukkan (require 'dired-x)file init Anda.

Kemudian Anda dapat menggunakan F( dired-do-find-marked-files) untuk mengunjungi semua file yang ditandai sekaligus. Gunakan C-x C-buntuk melihat daftar buffer terbuka, di mana Anda dapat memilih di antara buffer file tersebut.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.