Pode ocorrer centralizar o texto encontrado no buffer?


7

Ao selecionar um item do buffer de ocorrência, a linha destacada fica na parte inferior da tela visível. Isso é menos útil do que ter entre 25 e 50% da tela (portanto, é fácil ler o texto ao redor da linha encontrada). Isso é possível?

Respostas:


9

Não vejo o comportamento que você descreve. Para mim, quando eu escolho uma ocorrência no buffer, *Occur*ele visita a ocorrência no buffer de origem, colocando esse tapa no meio da janela do buffer de origem (verticalmente).

Mas se você vir o que descreve, basta colocar um código de janela recente occur-mode-find-occurrence-hook.

Algo assim. Você pode usar qualquer condição de comparação que desejar. Aqui, usei "dentro de 10 linhas da parte superior ou inferior", mas você pode usar porcentagens etc.

(defun foo ()
  (let ((line   (line-number-at-pos)))
    (cond ((<= line (+ (line-number-at-pos (window-start)) 10))
           (recenter 10))
          ((>= line (- (line-number-at-pos (window-end)) 10))
           (recenter -10)))))

(add-hook 'occur-mode-find-occurrence-hook 'foo)

11
Sim, isso vai fazer. Eu entendo o comportamento do OP, FWIW.
Dan

Estranho que eu não, então. emacs -Qno MS Windows 7. Quaisquer hits que clico (ou uso RET) no buffer de ocorrência são mostrados centralizados verticalmente no buffer de origem.
Drew

Você está certo emacs -Q(no Linux) fornece o comportamento que você descreve. Algo deve estar enterrado em algum lugar é a configuração.
Dan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.