/ / Emacs: move o ponto para o último caractere que não é um espaço em branco - emacs

Emacs: mova o ponto para o último caractere que não seja espaço em branco - emacs

Milímetros (back-to-indentation) move o ponto para o primeiro espaço não em brancocaractere na linha. Eu gostaria de fazer o oposto: mova o ponto para o último caractere que não seja um espaço em branco na linha. Não consegui encontrar um comando "interno" para isso e não estou familiarizado o suficiente com o ELisp para escrever algo, então qualquer ajuda seria apreciada por favor.

Respostas:

6 para resposta № 1
(defun my-move-end-of-line-before-whitespace ()
"Move to the last non-whitespace character in the current line."
(interactive)
(move-end-of-line nil)
(re-search-backward "^\|[^[:space:]]"))

4 para resposta № 2

Normalmente, nessa situação, quero obter o último caractere que não seja um espaço em branco e também remover o espaço à direita, então uso isso:

M- runs the command delete-horizontal-space, which is an interactive
compiled Lisp function in `simple.el".

No raro caso em que eu gostaria de preservar o espaço em branco, apenas uso M-b M-f (backward-word, forward-word) que normalmente está perto o suficiente.


0 para resposta № 3

Acho que phils já respondeu à sua pergunta. Apenas outro POW .. espaços em branco à direita são muito irritantes, invisíveis e sujeitos a bugs (?). Então eu tenho um gancho para before-save-hook para excluí-los.

;;; delete nasty hidden white spaces at the end of lines
(add-hook "before-save-hook "delete-trailing-whitespace)

Assim, sua operação indentada se torna simplesmente C-e para mim.