2011-06-08 13 views
5

El problema: Tengo dos búferes divididos uno al lado del otro. Me muevo a una línea en el búfer izquierdo y quiero hacer algo que mueve el punto en el búfer derecho al mismo número de línea. Por ejemplo, si estoy en la línea 26 en el búfer izquierdo, ejecuto una macro de algún tipo y listo estoy en la línea 26 en el búfer correcto.Mover punto en un búfer al mismo número de línea que el punto en un búfer diferente

cosas I han intentado que no han trabajado como me ha gustado (o en absoluto):

  • scroll-all-mode. Funciona si los buffers están sincronizados desde el principio (por ejemplo, el punto está en el mismo número de línea en ambos buffers) y si me atengo al movimiento básico de la línea. Pero pierde sincronización rápidamente si yo isearch-forward-regexp o página arriba/página abajo. Si hubiera un comando que podría "resincronizar", entonces esto resuelve mi problema.
  • Guardando el número de línea actual en un registro y usando ese valor de registro en goto-line. Guardar y restaurar posiciones siempre vuelve al mismo buffer.
+0

Si en realidad no se necesita para mover el punto (y 'hl-line-mode' puede compensar esto un poco), he notado que la función de desplazamiento automático' 2C' mantiene los búferes en el paso de bloqueo mucho mejor que 'scroll-all-mode'. La combinación de los dos no tiene el efecto deseado, por desgracia. Ver 'M-: (info) (emacs) Two-Column") RET' – phils

+0

@Ben ¿Estás diciendo que quieres comparar dos búferes/archivos? Si es así, usando 'ediff-files' o' ediff-buffers'. – CodyChan

Respuesta

6

Esta pieza de Emacs Lisp debe hacer lo que quiera:

(goto-line (line-number-at-pos) (window-buffer (next-window)) 

para obligar a éste a una secuencia de teclas,

(global-set-key (kbd "C-c l") 
    (lambda() 
    (interactive) 
    (goto-line (line-number-at-pos) (window-buffer (next-window))))) 
+0

También puede crear un modo menor que vuelva a enlazar las teclas 'C-n' y' C-p' que le permiten desplazarse a través de los búferes en el paso de cerradura. –

+0

Ustedes rock ... – Ben

Cuestiones relacionadas