emacs dot-emacs

Cuando abro 2 archivos en emacs, ¿cómo puedo hacer que aparezcan uno al lado del otro?



dot-emacs (6)

Aquí hay una función que cambiará un par de ventanas verticales a un par de ventanas horizontales:

(defun 2-windows-vertical-to-horizontal () (let ((buffers (mapcar ''window-buffer (window-list)))) (when (= 2 (length buffers)) (delete-other-windows) (set-window-buffer (split-window-horizontally) (cadr buffers)))))

Para hacer esto automáticamente en el inicio, agregue esta función a emacs-startup-hook :

(add-hook ''emacs-startup-hook ''2-windows-vertical-to-horizontal)

A veces lanzo emacs desde la línea de comandos con 2 archivos, de la siguiente manera:

emacs foo.txt bar.txt

Esto abre la ventana de emacs, dividida verticalmente:

foo.txt ------- bar.txt

¿Cómo puedo editar mi archivo .emacs para que se muestren lado a lado, de esta manera ?:

| foo.txt | bar.txt |

EDITAR : Para aclarar, sé cómo hacer que esto suceda después de que emacs se haya iniciado (Mx 0, Mx 3, luego vuelva a visitar bar.txt en la ventana derecha). Solo quiero que los emacs se dividan lado a lado de forma predeterminada cuando lo inicie, por lo que no tengo que hacerlo.


Esto ha funcionado bien para mí. Utilice el -f nombre-función de la línea de comandos para configurar su espacio de trabajo de pantalla dividida de Emacs como desee. Esto me da una cuadrícula de 2 x 2 de mis archivos financieros que actualizo todos los días y coloca el cursor en la ventana correspondiente al final. Guardo esto en .bashrc como un alias para poderlo extraer con un comando (doc_financial).

alias doc_financial=''emacs -nw financial_accounts.txt -f split-window-horizontally financial_budget.txt -f split-window-vertically financial_taxes.txt -f other-window -f split-window-vertically financial_tasks.txt -f other-window -f other-window -f other-window''


Lo siguiente (para agregar a su .emacs) hace que la ventana se divida como resultado predeterminado en buffers de lado a lado (en lugar de uno encima del otro):

(setq split-height-threshold nil) (setq split-width-threshold 0)

Este valor predeterminado también se aplicará cuando ejecute un comando como, por ejemplo, find-file-other-window ( Ctrl x 4 f ).

(Por otro lado, para dividir manualmente su ventana para obtener dos búferes de lado a lado, considere this respuesta).


Use Mx split-window-horizontally o Ctrl-x 3 .


Utilizar ventana dividida horizontalmente.


Ctrl -x 2 ventana dividida, arriba y abajo

Tampón 1 (arriba)
Tampón 2 (Abajo)

Ctrl -x 3 ventana dividida, lado a lado

Tampón 1 (izquierda) | Amortiguador 2 (derecha)

CMv Desplazar otra ventana