2012-03-14 19 views
10

Emacs 23.1.1 Ediff 2.81.2 en CentOS 6ediff-split-window-function horizontal == vertical?

Antes de cualquier personalización, Ediff sería, por defecto, dividir las ventanas horizontalmente (una encima de la otra).

que ellos querían al lado del otro, así que intentado añadir las siguientes líneas a mis .emacs

(setq ediff-split-window-function 'split-window-vertically) 
(setq ediff-merge-split-window-function 'split-window-vertically) 

Esto no tuvo efecto - las ventanas todavía estaban divididos horizontalmente. También intenté usar la interfaz de personalización de Emacs para Ediff para obtener la división vertical de forma predeterminada: la misma historia.

Tenga en cuenta que probé esto en una comparación con dos almacenamientos intermedios que se dividieron verticalmente. También lo intenté sin archivos abiertos en búferes y le pedí a Ediff que comparara dos archivos: el mismo resultado.

Luego intenté especificar split-window-horizontalmente como la función de ventana dividida para ediff-split y ediff-merge.

(setq ediff-split-window-function 'split-window-horizontally) 
(setq ediff-merge-split-window-function 'split-window-horizontally) 

Esto provocó que las ventanas se dividan verticalmente (una al lado de la otra). Esto también fue cierto cuando comenté estas líneas y usé la interfaz de personalización de Emacs para establecer estas opciones.

Y sí, he visto this question pero no quiero eliminar la división horizontal a nivel mundial. Solo quiero que Ediff lo haga de manera predeterminada.

¿Estoy perdiendo la razón o alguien ha cambiado el significado de "horizontal" y "vertical" (y por cierto, estoy tomando la definición de división "vertical" y "horizontal" de mi copia del O 'Reilly libro' Aprender Gnu Emacs ')?

+0

Ventana dividida: horizontalmente significa dividir la ventana en dos ventanas que están adyacentes horizontalmente. –

Respuesta

8

Utilicé la personalización de la variable de emacs, invocada con C-h v ediff-split-window-function para cambiar el valor. Después de hacer clic Save for future sessions la siguiente fue escrito a mi .emacs:

(custom-set-variables 
... 
'(ediff-split-window-function (quote split-window-horizontally)) 
...) 

Y lo hace exactamente lo que quiero: poner los dos buffers de lado a lado. Y sí, emacs usa horizontal/vertical en el sentido opuesto al que tenía en mente. Si vuelve a leer this question, verá la explicación, otros también estarán confundidos.

7

Golpeando "|" cuando está en modo ediff con los 2 archivos cargados cambia de horizontal a vertical.
"?" da un pequeño menú de ayuda ediff. (estoy en Debian Wheezy con emacs 23,4 + 1-4)

0

Si bien no acaba de responder a su problema, también puede utilizar una función para especificar si se divide en vertical u horizontal dependiendo de las dimensiones de la ventana:

(setq ediff-split-window-function 'split-window-sensibly) 

split-window-sensibly es built-in.

+0

Esto no funciona para mí. 'split-window-sensibly' toma una ventana como argumento, mientras' split-window-horizontally' toma un tamaño. Esto causa errores cuando Ediff intenta dividir la ventana. – PythonNut

Cuestiones relacionadas