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.