Emacs - pula o parágrafo para cima / para baixo colocando o cursor na primeira linha visual

1

As funções up / down de parágrafo de salto que são embutidas no Emacs colocam o cursor acima da primeira linha visual de cada parágrafo. As funções são significativamente desativadas quando há várias linhas em branco entre os parágrafos. Eu tentei criar uma macro que corrige o comportamento interno, mas era muito lento para ser útil.

Alguém tem uma função up / down de parágrafo jump que estaria disposta a compartilhar que sempre coloca o cursor na primeira linha visual de cada parágrafo (mesmo se houver várias linhas em branco entre os parágrafos) ?

    
por lawlist 11.09.2013 / 04:07

1 resposta

0

EDIT (8 de dezembro de 2013): Primeiro rascunho.

EDIT (29 de dezembro de 2013): Várias melhorias no primeiro rascunho publicado anteriormente, incluindo, mas não se limitando a, lidar com caracteres especiais em latex-mode .

EDIT (3 de março de 2014): criadas funções separadas para o modify-syntax-entry .

EDIT (4 de janeiro de 2015): Reescrita importante sem depender da modificação das entradas de sintaxe. Não há mais distinção se a região está ativa.

  
(defun lawlist-forward-paragraph ()
"http://superuser.com/a/685604/206164"
(interactive "^")
  (let ((opoint (point)))
    (skip-chars-forward "\s\t\n\r")
    (re-search-forward "^\n" nil t)
    (skip-chars-forward "\s\t\n\r")
    (when (= opoint (point))
      (goto-char (point-max)))) )

(defun lawlist-backward-paragraph ()
"http://superuser.com/a/685604/206164"
(interactive "^")
  (let ((opoint (point)))
    (skip-chars-backward "\s\t\n\r")
    (re-search-backward "^\n" nil t)
    (skip-chars-forward "\s\t\n\r")
    (when (<= opoint (point))
      (goto-char (point-min)))) )
    
por 08.12.2013 / 18:29

Tags