Emacs переходит на следующий пробел

9

В Emacs есть свои функции forward-wordи backward-word. Существуют ли также функции, которые перемещают точку в следующий / последний пробел?

Юлия
источник
Разве это не для многих случаев эквивалентно? Какой вариант использования, где требуется другой функционал?
Х.-Дирк Шмитт
1
Например, если есть обобщенное слово, как\a_command_with_special-characters
Джулия

Ответы:

7

Вы можете изменить синтаксические свойства символов, используя modify-syntax-entryфункцию ( C-h f modify-syntax-entryв emacs для получения дополнительной информации):

Например, если вы пишете документы .tex, вы можете добавить следующее в свой .emacs:

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

Это говорит emacs обрабатывать _и -как "слово" символы, когда вы находитесь в режиме TeX, таким образом, forward-word и backward-word будут делать то, что вы хотите.

Декан сереневый
источник
9

Используйте forward-whitespaceдля продвижения по пробелам, символам табуляции или переводам строки. Несколько пробелов рассматриваются как один разделитель. С отрицательным аргументом вернитесь назад на это количество пробелов.

Дэвид Р. МакВильямс
источник
1
Любая идея, как перейти к первому пробелу после блока текста, не пропуская ни одного? вперед-пробел, кажется, пропускает до конца строки, когда у меня есть конечные пробелы в строке. Я действительно просто хочу найти первое место в конце. Спасибо за любую помощь.
Дейв
@Dave: (lambda () (пробел вперед-вперед) (пробел-вперед -1))
Дин Сереневы