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.