Автозаполнение и верблюд - PullRequest
4 голосов
/ 08 декабря 2010

Если я использую Meta-/ для автозаполнения слов вроде ThisClass, emacs запутается и выдаст мне либо THISCLASS, либо thisclass.Хуже того, если я набрал ThisC и затем автозаполнение, это дает Thisclass, что очень расстраивает.

Есть ли способ изменить это поведение?

Ответы [ 3 ]

8 голосов
/ 08 декабря 2010

В дополнение к hippie-expand вы также можете добиться желаемого поведения с помощью всего лишь dabbrev, настроив следующую переменную:

dabbrev-case-fold-search is a variable defined in `dabbrev.el'.
Its value is nil

  This variable is potentially risky when used as a file local variable.

Documentation:
Control whether dabbrev searches should ignore case.
A value of nil means case is significant.
A value of `case-fold-search' means case is significant
 if `case-fold-search' is nil.
Any other non-nil version means case is not significant.

You can customize this variable.
7 голосов
/ 08 декабря 2010

Да, используйте hippie-expand:

(global-set-key (kbd "M-/") 'hippie-expand)

Проверьте вики-страницу на ней и краткую страницу руководства для нее .

hippie-expand похож на dabbrev (привязка по умолчанию для M - / ), но добавляет больше возможностей, и в процессе исправлена ​​проблема с верблюдом, на которую вы указали.

1 голос
/ 11 декабря 2013

Хотя изменение поведения поиска является одним из способов решения проблемы, другой способ, который, возможно, лучше, - это сохранить поведение поиска как есть, но вместо этого изменить поведение замены.

Для этого установите переменную dabbrev случая замены до нуля.

Этот способ, возможно, лучше, потому что, даже если то, что вы ввели, является неправильным регистром, оно все равно будет правильно сопоставлено, а затем дополнено до правильного регистра.

Пример: допустим, у вас есть переменная "aVariable". Если вы измените поведение поиска (установив для dabbrev-case-fold-search значение nil), то ввод «av» не будет соответствовать вашей переменной. Однако если вместо этого вы измените поведение замены (установив для dabbrev-case-replace значение nil), то после ввода «av» развернется «aVariable».

Ссылка: http://www.gnu.org/software/emacs/manual/html_node/emacs/Dabbrev-Customization.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...