auto-complete-modeとlinum-modeを共存させる設定

f:id:nullbyte:20150717010300p:plain

Emacs22以降でバッファの左側に行数を表示したい場合

M-x linum-mode

で切り替えるか、全部のバッファで表示させたい場合

(global-linum-mode t)

.emacsに書いておけばいいんだけど、auto-complete-modeとcompany-modeを使ってる場合、ファイルの末尾あたりで作業していると、かちゃかちゃと存在しない行番号が出たり消えたり、変な動きになる。

このStack Overflowの書き込みによるとauto-complete.elが候補を表示するために存在しない空行を追加して、次の瞬間company-modeのポップアップがそれの分の行番号を消しちゃうかららしいのだけど、原因はともかくイライラして使い物にならない。

上の記事では諦めてline-number-modeにすれば?とつれない回答だが実はauto-comple.elにワークアラウンドが実装されていて、

(ac-linum-workaround)

と設定に追加するだけでOK。あなたのEmacs Lifeに再び平穏が訪れるでしょう。

私はel-getを使っているので、el-get-init-dirにinit-auto-complete.elを書いて、上記の設定を追加しました。

ネタ元:結局Stack Overflow。

stackoverflow.com