2012-09-30 5 views
7

インラインの提案にRETに誘発しないオートコンプリートが、1つの事のバグ私:私はすぐに、インラインの提案が、0.9でメニューを表示するように設定をしていEmacsのオートコンプリート:私はとても幸せです

sの遅れ。私は最初の数文字をタイプします。自動的にインラインで "削除"される "del"。 「削除」と入力したい場合は、TABを押してください。これは問題ありません。しかし、実際に "del"と改行を入力したい場合は、ここでRETが自動的に "削除"を完了します。

インライン候補のみが表示されている場合、RETを改行するにはどうすればよいですか?オートコンプリートメニューが表示されたら、通常のように再びトリガーキーにしたい。

ありがとうございました!

+0

「del Ctrl-d」を試してください。私はこれをチェックできるコンピュータではない。 – Tyler

答えて

8

auto-completeモードの他の設定の後に次の行を追加することにより、あなたは補完メニューが表示されているときのみRETによって補完を有効にすることができます。

(define-key ac-completing-map "\C-m" nil) 
(setq ac-use-menu-map t) 
(define-key ac-menu-map "\C-m" 'ac-complete) 

ac-completing-mapRETがデフォルトであるキーマップでありますac-completeにバインドされ、ac-menu-mapは、完了メニューで完了するためのキーマップです。 ac-use-menu-map変数がtの場合、ac-menu-mapキーマップが有効になります。

C-gのいずれかの時点で完了することができます。したがってC-gRETの場合は、RETのバインディングを付けた改行を入力することもできます。また、改行を入力する場合はC-jではなくRETを使用できます。 C-jはデフォルトでac-completeに結合しません。

+0

ありがとうございます!これは動作します!私はC-gについて知っていた(私もESCがこの機能に縛られていた)が、それは円滑な流れを破る。 – user673592

関連する問題