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))
Дин Сереневы
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.