Emacs przechodzi do następnej białej spacji


9

W emacsie są funkcje forward-wordi backward-word. Czy istnieją również funkcje, które przenoszą punkt do następnej / ostatniej spacji?


Czy w wielu przypadkach nie jest to równoważne? Jaki jest przypadek użycia, w którym potrzebna jest inna funkcjonalność?
H.-Dirk Schmitt

1
Na przykład, jeśli masz uogólnione słowo, takie jak\a_command_with_special-characters
Julia

Odpowiedzi:


7

Możesz zmodyfikować właściwości składniowe znaków za pomocą modify-syntax-entryfunkcji ( C-h f modify-syntax-entryw emacs, aby uzyskać więcej informacji):

Na przykład, jeśli piszesz dokumenty .tex, możesz dodać do swojego .emacs:

(add-hook
 'TeX-mode-hook
 '(lambda ()
    (modify-syntax-entry ?_ "w")
    (modify-syntax-entry ?- "w")
))

Mówi to emacsowi, aby traktował _i -jako znaki „słowa”, gdy jesteś w trybie TeX, więc słowo do przodu i słowo do tyłu zrobi to, co chcesz.


9

Służy forward-whitespacedo przewijania o spacje, tabulatory lub znaki nowej linii. Wiele spacji jest traktowanych jako jeden separator. Z argumentem negatywnym cofnij się o tę liczbę białych znaków.


1
Masz pomysł, jak przejść do pierwszej spacji po bloku tekstu, nie pomijając żadnej? spacje do przodu wydają się przeskakiwać do końca linii, gdy mam końcowe spacje na linii. Naprawdę chcę tylko znaleźć pierwsze końcowe miejsce. Dziękuję za wszelką pomoc.
Dave

@Dave: (lambda () (forward-whitespace) (forward-whitespace -1))
Dean Serenevy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.