company-modeとかpabbrevとか試してみた
色々試してみましたよと.
company-modeが良さげだけど, まだちょっと常用する気にならない.
もうちょっと更新されるのを待ってみようかなと思う.
とりあえず新しくpabbrevを使うことにした.
今使ってるのは, pabbrevとac-modeとdabbrev-expand-multiple(自分が作ったのw).
company-mode
compnay-modeを使ってはみたがどうも微妙だなあ.
気になったことに全部対応でけねえ.
- 1文字打つたびに補完する
- キー割り当てが使いづらい
- インライン表示による補完で候補を一気に5つとかめくれない
- 最初に補完したときエラー吐く
- その後の補完でcompnay-modeが補完文字列にかけるfaceが消えない
- 表示する補完候補がどうにも使いづらい
こん中の最初の2つは.emacsに書くことで対応でけたけど, 他がなあ.
特に3番目の一気にめくれないのはツライ.
順方向がでけない. 逆方向は簡単にでけたのに
最初やったときにエラー吐くのは最初だけだからおk.
補完文字列にかけるfaceが消えないのは,
根気よく調べてdefadviceをかけてやりゃ消せそうだからそれもとりあえずおk.
6番目のは, どうなんだろう?表示項目を増やせば使い易くなんのかなあ.
つかあまりにも多くの候補から補完しようとしすぎな気がする.
かなり良さそうなんだけど, また今度.
hippie-expand
使うかどうかわからないけど, とりあえず設定した.
静的略語展開も展開できるのがいいなあ.
pabbrev
こういうリアルタイムに補完するものはSKKとよく機能が衝突するだけど,
それも無さげなので, 使ってみることにした.
地味に便利となるか, 欲しくもない補完が目の前でチラチラしてウザいとなるか・・・,
まあ使ってみて・・・やなあ.
今日書いた.emacs
一応貼っとく〜
;;; -*- Coding: iso-2022-7bit -*- ;;; 補完関係の設定. ;;; compnay-modeの設定 (require 'company-mode) (require 'company-bundled-completions) (company-install-bundled-completions-rules) ;; 1個目を自動的に補完 (setq company-auto-expand t) ;; 複数補完を出す前に待つ秒数? (setq company-idle-delay nil) ;; 表示形式 ;;(setq company-display-style 'pseudo-tooltip) ;; 文字を打っているときに自動的に補完ウィンドウを出さない (setq company-complete-on-edit nil) ;; 補完をしたなら, すぐにツールチップを出す (setq company-tooltip-delay 0) ;; 一度に表示する補完の量(デフォルト10) (setq company-how-many-completions-to-show 5) ;; キー割り当て (define-key company-mode-map "\t" 'ignore) (define-key company-mode-map [(hyper I)] 'company-expand-common) (define-key company-active-map "\C-n" 'company-cycle) (define-key company-active-map "\C-p" 'company-cycle-backwards) ;; ;; 動作しやがらねえ ;; (define-key company-active-map " " ;; '(lambda () ;; (interactive) ;; (company-cycle company-how-many-completions-to-show))) (define-key company-active-map "x" '(lambda() (interactive) (company-cycle-backwards company-how-many-completions-to-show))) (define-key company-active-map "\t" 'company-expand-top) (define-key company-active-map "\C-m" 'company-expand-top) (define-key company-active-map (kbd "<return>") 'company-expand-top) ;; " "でのツールチップ一気にまわしができんのならあまり意味ないよなあ (define-key company-active-map "a" (company-expand-number-macro 1)) (define-key company-active-map "s" (company-expand-number-macro 2)) (define-key company-active-map "d" (company-expand-number-macro 3)) (define-key company-active-map "f" (company-expand-number-macro 4)) (define-key company-active-map "g" (company-expand-number-macro 5)) ;; TODO(使うなら) ;; どうも補完した後にcompany-modeで付けられたfaceが消えないようなので, ;; ソースを調べて, defadviceで消すようにすること ;; いや, エラーがでてるのが原因かも. もうちょっと待ってみよう. 更新されるまで. ;;; hippie-expand ;; M-x hippie-expandとする (setq hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol)) (global-set-key "\M-/" 'hippie-expand) ;; pabbrev.el (require 'pabbrev) (global-pabbrev-mode) ;; complete.el ends here
参考にしたページ
更新時刻
- 1かいめ 2007年, 12月11日, 2:39
- 2かいめ 2007年, 12月11日, 2:42