2010-12-08 6 views
4

は、Emacsは混乱し、私にTHISCLASSまたはthisclassのいずれかを与えます。さらに悪いことに、ThisCと入力してオートコンプリートすれば、非常に不快なThisclassとなります。オートコンプリートとキャメルケース

この動作を変更する方法はありますか?

+0

https://emacs.stackexchange.com/questions/10837/how-to-make-company-mode-be-case-sensitive-on-plain-text これは、私のために働く。 –

答えて

7

うん、hippie-expandを使用します。

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

その上にwiki pageをチェックアウトし、簡潔manual page for it

hippie-expanddabbrevM-/のバインディングデフォルト)に似ているが、より多くの機能を追加し、その過程であなたが指摘キャメルケースの問題を修正しました。

+0

いいです、私はそれが大好きです。また、行全体を自動完成させる方法の問題を修正しました。ありがとう:) –

+0

https://emacs.stackexchange.com/questions/10837/how-to-make-company-mode-be-case-sensitive-on-plain-text これを確認してください –

8

ヒッピー・拡大に加えて、あなたはまた、次の変数をカスタマイズするだけ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. 
1

を問題を解決する一つの方法、です別の方法です検索動作をそのままの状態に保つのではなく、代わりに置換動作を変更する方が良いでしょう。

これを達成するには、変数 ダブルケース置換 をnilに設定します。

あなたがタイプしたものが間違っている場合でも、正しくマッチングされ、正しい大文字と小文字に変換されるので、この方法がおそらく良いでしょう。

例:変数「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

関連する問題