In emacs come posso tenere aperti molti file contemporaneamente?


10

Al momento utilizzo C-xC-fun nuovo file, ma diventa piuttosto noioso.


Qual è il tuo obiettivo? Aprire un mucchio di file contemporaneamente? O gestisci molti file già aperti?
viam0Zah,

O vuoi solo vedere più file contemporaneamente? Perché Emacs mantiene tutti questi file "aperti" (in un certo senso, sono caricati, ma non sono "aperti" in un senso "il descrittore di file è aperto").
Jürgen A. Erhard,

Voglio modificare diversi file sorgente di un programma
Yazz.com,

Passa attraverso questo prima di usare emacs
sovracambia il

Risposte:


19

Quando carichi un file in Emacs con find-file (associato per Ctrl-x Ctrl-fimpostazione predefinita), viene inserito in un "buffer". Finché non si uccide il buffer, rimane in memoria, non è necessario ricaricarlo.

Si accede a file (buffer) già caricati con switch-to-buffer (associato a Ctrl-x b). Premere i tasti, quindi digitare il nome del buffer su cui si desidera passare (per impostazione predefinita è il nome di base per qualsiasi file caricato).

È inoltre possibile premere Ctrl-x Ctrl-bper ottenere un elenco di buffer attualmente esistenti. E fai clic su qualsiasi buffer lì con il mouse per passare ad esso (IIRC, usa raramente il mouse con Emacs ;-))

Puoi anche dividere lo schermo in due (o più) parti per vedere diversi file (buffer) con Ctrl-x 2. Inizialmente, questo mostra lo stesso buffer due volte. Passare a un altro buffer in una delle finestre per vedere un altro file.


1
Cx 3 può anche essere usato per dividere lo schermo in due, Cx 0 per mostrare un solo buffer alla volta.
Rémi,

3

Cx be Cx Cb sono ciò che vuoi. Considera anche di provare iswitchb o ido. Da quando ho iniziato a usarli, desidero che tutti i programmi che ho usato possano passare da una scheda all'altra in modo rapido e conveniente come emacs. Spesso ho 50 file o più aperti in emacs, puoi trovare quello che desideri molto velocemente con iswitchb o ido.


1

Inoltre, se stai usando una versione grafica di emacs, puoi fare ctrl-x 5 b per aprire un buffer esistente in una nuova finestra (chiamato frame in emacs-speak) o ctrl-x 5 f per caricare un nuovo file in una nuova finestra.


1
cx 5 b funziona anche in un tty, ma il cambio di frame è fastidioso in modalità tty :)
Justin Smith

@Justin Grazie. Non ho mai giocato con i frame in un tty. C'è qualche vantaggio rispetto all'uso di più buffer.
KeithB,

È possibile utilizzare frame vs windows nel modo in cui utilizzeresti spazi di lavoro vs windows in un gestore di finestre Linux, ad es. per lavorare su elisp il frame 1 ha due finestre, una con il file info per elisp, l'altra con ielm per provare il codice in modo interattivo, il frame 2 ha solo una finestra, con qualunque file si stia modificando (in modo da poter vedere quante più righe sono visibili il più possibile è non diviso). Con una buona combinazione di tasti per altri frame potrebbe essere un accordo molto produttivo se per qualche motivo non volessi eseguire X.
Justin Smith

0

Puoi facilmente aprire più file contemporaneamente (o agire su di essi in altri modi).

  1. Utilizzare C-x dper visitare una directory (cartella), che elenca tutti i suoi file e le sue sottodirectory.

  2. Contrassegna i file che vuoi aprire (o agire in qualche altro modo). È possibile contrassegnare i file singolarmente o in gruppi in base a varie caratteristiche, tra cui modelli di nomi di file. Vedi i menu della barra dei menu Mark and Regexp : mostra alcune possibilità di marcatura disponibili e le loro scorciatoie da tastiera.

Per esempio:

  • % m contrassegna i file i cui nomi corrispondono a un'espressione regolare.

  • % g contrassegna i file il cui contenuto corrisponde a un'espressione regolare.

  • * * contrassegna i file eseguibili.

Per aprire tutti i file contrassegnati contemporaneamente è necessario aver caricato la libreria standard dired-x.el. Esegui M-x load-library dired-xo inserisci il (require 'dired-x)tuo file init.

Quindi puoi usare F( dired-do-find-marked-files) per visitare contemporaneamente tutti i file contrassegnati. Utilizzare C-x C-bper visualizzare un elenco dei buffer aperti, in cui è possibile scegliere tra tali buffer di file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.