2009-10-09 3 views
14

В моем режиме C# M-b и M-f привязаны к {назад, вперед} -слову.Как сделать форвард-слово, обратное слово, рассматривать подчеркивание как часть слова?

Но все это останавливается на символах подчеркивания, которые я иногда использую в качестве префикса для переменных-членов.

Как мне получить emacs для обработки подчеркивания как символа слова?

ответ

13

Как упоминалось в huaiyuan, вам необходимо изменить таблицу синтаксиса. Тем не менее, то, что он опубликовал, изменяет текущую таблицу ...

Каждый язык имеет таблицу синтаксиса, например. Для C++, вы могли бы сделать

(modify-syntax-entry ?_ "w" c++-mode-syntax-table)

Я не знаю, что «ваш C# режим» использует, но быстрый M-x apropos с взглядом вверх по syntax-table должно помочь вам узнать ...

+3

Это сделало. '(modify-syntax-entry? _" w "csharp-mode-syntax-table)' Спасибо. – Cheeso

8

Вам необязательно изменять таблицу синтаксиса. _ относится к символу класса синтаксиса в режиме csharp, поэтому вы можете использовать forward-symbol вместо forward-word. forward-symbol находится в thingatpt, который поставляется с emacs (не менее 23).

Вы можете быстро просмотреть таблицу синтаксиса режима с помощью C-h s (описать-синтаксис).

Смежные вопросы