読者です 読者をやめる 読者になる 読者になる

うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

helm.elをインストールしてみた

emacs

スポンサーリンク

emacsをとにかく便利にしてくれるらしい,helm.elをインストールしてみました.

ダウンロード

emacs-helm/helm

package.elからインストールしてもいいし,こちらのgithubからダウンロードでもOK.

インストール

ロードバスに置いて,require.初期からモードを使えるようにする. 最低限の設定です.

(add-to-list 'load-path "~/your-path/helm")
(require 'helm-config)
(helm-mode 1)

Emacs起動後,ミニバッファの上のファイル名などが書かれているところにHelmの文字があればOK.

使い方

とりあえずファイルを探す用途でまず試してみることに. 大量にコマンドがありますが,便利なコマンドであればその都度キーバインド設定をするといいです.

  • ファイルを探す

普通にC-x C-fでファイルを探すコマンド実行. ちなみにコマンド名はhelm-find-files

画面のようにhelmバージョンに.

f:id:konbu13:20140115222713j:plain

このhelmのバッファではファイルの候補が現れます. C-n, C-pで上下に緑カーソル移動して,所望のファイルが選択できるようになってます. C-vとかもつかえます.リターンするとカーソル上のファイルを開きます(ディレクトリならdiredで起動).

C-lでカレントディレクトリの上位階層に移動します.

普通のfind-fileと比べ,ファイルの候補が常に表示されるので便利です. また,右矢印キーでいつものemacsのように補完できます.

  • 履歴等からもファイルを探せるコマンド
M-x helm-for-files

カレントディレクトリだけでなく,今のバッファに出ているファイル,過去に開いたファイルまで,すべてひとまとめに探せるコマンド. 大変便利ですね~

他にもコマンドはたくさんあるのですが,まだ全然把握しきれてないです.遊びがいがありますね.

細かい設定

そのままだといろいろと不便な面があるので設定.

  • 自動補完を無効

Emacs Helmのパス自動補完がじゃまなので無効化した - Web学びを参考にしました.

;; 自動補完を無効
(custom-set-variables '(helm-ff-auto-update-initial-value nil))

C-hをバックスペースに設定している方は多いと思いますが,helmを入れるとミニバッファで C-hが無効になってしまいます.ですので以下の設定を入れます.

;; ミニバッファでC-hをバックスペースに割り当て
(define-key helm-read-file-map (kbd "C-h") 'delete-backward-char)

しかし,この設定してもoccurなどでpatternを指定するときはやっぱりC-hが使えなかったり…

  • 補完

右キーに割り当てられている補完をタブにします.

;; TABで補完
(define-key helm-read-file-map (kbd "<tab>") 'helm-execute-persistent-action)

エラー時

cl-libがないといわれたら,Emacs 24.3にすると解決しました.