/ / Emacs: przesuń punkt do ostatniej nie białej spacji - emacs

Emacs: przenieś punkt do ostatniej nie białej spacji - emacs

M-m (back-to-indentation) ruchy wskazują na pierwsze, nie białe znakipostać na linii. Chciałbym zrobić coś odwrotnego: przenieść punkt do ostatniej, nie zawierającej znaków odstępu na linii, nie mogłem znaleźć "wbudowanego" polecenia i nie jestem wystarczająco zaznajomiony z ELispem, aby coś napisać, więc proszę o pomoc.

Odpowiedzi:

6 dla odpowiedzi № 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 dla odpowiedzi nr 2

Zwykle w tej sytuacji chcę dostać się do ostatniej nie-białej spacji, a także usunąć końcową spację, więc używam tego:

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

W rzadkich przypadkach chciałbym zachować białe znaki, których używam M-b M-f (backward-word, forward-word), który jest zazwyczaj wystarczająco blisko.


0 dla odpowiedzi № 3

Myślę, że już phils odpowiedział na twoje pytanie. Kolejny POW ... ciągnące się białe przestrzenie są bardzo denerwujące, niewidoczne i podatne na błędy (?). Więc mam hak before-save-hook je usunąć.

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

Więc twoja wcięta operacja staje się prosta C-e dla mnie.