Emacs ediff não desloca buffers igualmente

3

No Emacs ediff, posso usar v e V para rolar para cima e para baixo os buffers que estou comparando simultaneamente.

No entanto, notei que:

  1. Se eu começar a rolar cada buffer independentemente
  2. Em seguida, coloque o ponto (cursor) na primeira linha dos dois buffers,
  3. Tente movê-los ao mesmo tempo usando v

Em seguida, os buffers não rolam igualmente (por exemplo, o buffer nos direitos rola uma linha extra).

Percebi que, se eu fechar a sessão do ediff e abrir uma nova com os dois arquivos, o problema desaparece.

Os arquivos têm algumas diferenças substanciais perto do final dos respectivos arquivos, mas para as primeiras linhas de 2K, eles são idênticos.

Eu ficaria muito surpreso se isso fosse um bug, então deve haver algo que eu não esteja entendendo. Existem parâmetros que controlam a rolagem? Os atalhos v e V devem rolar os dois buffers na mesma quantidade, certo?

Os arquivos que estou comparando terminam cada linha com CR LF . Eu incluí um instantâneo abaixo de um editor alternativo (Notepadd + +):

Nota: Isso é com o Emacs 23.3.1 (versão estável mais recente)

    
por Amelio Vazquez-Reina 18.01.2012 / 17:57

1 resposta

1

O Emacs rola por linhas de tela que não são físicas, portanto, se uma linha física ocupa duas linhas de tela (devido à volta) em uma janela e ocupa apenas uma linha na outra janela (devido a essa janela ser mais larga), você rolar as janelas juntas elas ficarão fora de sincronia. Se é isso que está acontecendo com você, você pode corrigir o problema com

(setq truncado-parcial-largura-janelas t)

Isso desativa o wraparound quando você divide um quadro do Emacs no meio, de modo que as linhas físicas ocuparão uma linha de tela nas duas janelas.

    
por 18.01.2012 / 20:09

Tags