Emacs wechseln zum nächsten Leerzeichen


9

In Emacs gibt es die Funktionen forward-wordund backward-word. Gibt es auch Funktionen, die den Punkt zum nächsten / letzten Leerzeichen verschieben?


Ist das nicht für viele Fälle gleichwertig? Was ist der Anwendungsfall, wenn eine andere Funktionalität benötigt wird?
— H.-Dirk Schmitt

1
Zum Beispiel, wenn a ein verallgemeinertes Wort wie\a_command_with_special-characters
— Julia

Antworten:


7

Sie können die syntaktischen Eigenschaften von Zeichen mithilfe der modify-syntax-entryFunktion ändern ( C-h f modify-syntax-entryin Emacs für weitere Informationen):

Wenn Sie beispielsweise .tex-Dokumente schreiben, können Sie Folgendes zu Ihrem hinzufügen .emacs:

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

Dies weist Emacs an, im TeX-Modus _und -als "Wort" -Zeichen zu behandeln , sodass Vorwärts- und Rückwärtswort das tun, was Sie wollen.


9

Verwenden Sie forward-whitespacediese Option, um Leerzeichen, Tabulatoren oder Zeilenumbrüche zu verwenden. Mehrere Leerzeichen werden als ein Trennzeichen behandelt. Gehen Sie mit einem negativen Argument um diese Anzahl von Leerzeichen rückwärts.


1
Haben Sie eine Idee, wie Sie nach einem Textblock zum ersten Leerzeichen gelangen können, ohne eines zu überspringen? Vorwärts-Leerzeichen scheinen zum Ende der Zeile zu springen, wenn ich nachgestellte Leerzeichen in einer Zeile habe. Ich möchte wirklich nur den ersten nachgestellten Platz finden. Vielen Dank für jede Hilfe.
— Dave

@ Dave: (Lambda () (Vorwärts-Leerzeichen) (Vorwärts-Leerzeichen -1))
— Dean Serenevy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.