Question Comment ouvrir plus de 2 fichiers dans un seul cadre Emacs?


Je voudrais pouvoir automatiser le processus d'ouverture de plusieurs fichiers dans emacs sous une seule image, de sorte que le cadre se divise en plusieurs fenêtres. Actuellement, je ne peux ouvrir que 2 fichiers dans un seul cadre emacs (2 fenêtres) en le tapant dans un terminal linux: emacs file1 file2. Cependant, si j'essaye d'ouvrir plus de 2 fichiers, par exemple en tapant emacs file1 file2 file3 Ensuite, il ouvrira file3 dans une fenêtre et dans l'autre fenêtre, il affichera un «tampon CRM» qui répertorie les fichiers du répertoire.

Comment puis-je l'obtenir pour ouvrir plus de 2 fichiers, de sorte que le cadre emacs soit divisé en plus de 2 fenêtres?

Notez que 'window' signifie fenêtre dans le sens emacs, pas dans le sens MS windows (frames).


3
2018-06-04 12:44


origine




Réponses:


Vous pouvez empêcher la liste des tampons d’apparaître en définissant inhibit-startup-buffer-menu à t comme décrit ici. Cependant, cela n'entraîne toujours pas plus de 2 fenêtres. En regardant le code d'initialisation dans startup.el, cela ne semble pas être personnalisable.

Cependant, le ibuffer commander ibuffer-do-view (lié à v) affiche plusieurs tampons comme vous le souhaitez. Vous pouvez l'utiliser par programme. Mettez ceci dans votre .emacs fichier:

(defun view-files-in-windows ()
  (ibuffer)                      ; Activate ibuffer mode.
  (ibuffer-mark-special-buffers) ; Mark the special buffers.
  (ibuffer-toggle-marks)         ; Toggle buffers, leaving the non-special ones
  (ibuffer-do-view))             ; Show each buffer in a different window.

Ensuite, lancez emacs comme ceci:

$ emacs file1 file2 file3 file4 --eval "(view-files-in-windows)"

(Il échoue s'il y a trop de fichiers et que les fenêtres deviennent trop petites.)


2
2017-07-02 19:31



Nice merci! Existe-t-il un moyen de le démarrer pour que les 4 fenêtres apparaissent en 2 lignes au lieu d’une colonne? - Eddy
@Eddy: S'il vous plaît envisager de réponses votantes que vous acceptez, comme la réponse probablement était utile;) - Nikana Reklawyks


Je ne suis pas trop familier avec ibuffer, mais si vos fichiers sont numérotés de manière séquentielle, grid-files-sq pourrait être quelque chose comme ce que vous cherchez, ou vous pouvez utiliser Disposition de la grille


1
2017-07-19 13:55