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

イメージに染まるまで……

Mac,iOSなどAppleの製品についての記事や、セキュリティだったりGTDの記事を書いています。

Helmへの移行、簡単な設定

Emacs

先日、やっとAnythingからHelmに移行しました。Anything.el自体はなにも設定せずにただ、

(require 'anything-startup)

としかしていませんでしたし、show-kill-lingをM-yで呼び出せるようにしかしていませんでした。なので、ヘヴィに使っていたかたに比べるとなにもしていないようなものですが、とりあえず自分がHelmの操作に慣れながら、必要な動作をしてもらうように簡単な設定のメモを書いておきます。

  1. インストール
  2. とりあえずHelmを読み込ませる
  3. Anythingの機能に相当するものを使う まとめ

1. インストール

私はEmacs24.3.1を使っているので、package.elを、つまりELPAを使ってインストールしました。アップデートも簡単ですしね。ただ、ELPAは標準ではHelmが M-x package-list-packages としてもリストに入っていませんので、MELPAとMarmaladeを参照するようにinit.elに以下のように書き込みます。

;; package.elの記述:ELPA
(require 'package)
;;MELPAを追加
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
;; Marmaladeを追加
(add-to-list 'package-archives  '("marmalade" . "http://marmalade-repo.org/packages/"))
;;初期化
(package-initialize) 

これで、M-x package-list-packagesとすればリストにHelmが登場するようになります。私はとりあえず、Helmだけをインストールしました。C-sの検索でHelmと打ち込み、名前の横でiをタイプすると、横に大文字の"I"が表示されます。複数必要な場合、必要なパッケージにマークしておけば、xのインストール実行で全てインストールされます。

2. とりあえずHelmを読み込ませる

init.elに以下の記述を書き込みます。

;; helmの記述
(when (require 'helm-config nil t)
(helm-mode 1))

これで、以降のEmacsの起動から自動でHelmが読み込まれるようになります。

気になる方は、Anythingの設定をコメントアウトしておけばOKです。

私の場合、慣れるためにコメントアウトしました。

; (require 'anything-startup)
;;M-yにanything-show-kill-ringを割り当てる
;(define-key global-map (kbd "M-y") 'anything-show-kill-ring)

該当するS式の前にコメントとするのと同様に";"を付けるのがコメントアウトですね。

この後にひっかかる点としては、C-x C-fのfind file機能の補完でTabキーが効かなくなってしまい、さらに~/.emacs.dを呼び出そうとしたときに、.gemが候補に上がるようになっていたりするところでしょうか。仕様が変わっているようです。

また、find fileの補完はC-zになっているので注意してください。~/.emacs.dを呼び出すときは、~/emacsと打ってゆけば候補が表示されます。

3. Anythingの機能に相当するものを使う

私は、3つの機能を簡単に呼び出すようにキーバインドを設定しました。

(define-key global-map (kbd "M-y") 'helm-show-kill-ring)

Anythingでも愛用していたキルリングの履歴を表示する機能ですね。M-yに担当させました。Emacs内のクリップボードマネージャになってくれます。

(define-key global-map (kbd "C-x C-r") 'helm-recentf)

最近使ったファイルの履歴を表示します。C-x C-rに担当させました。

(define-key global-map (kbd "C-x b") 'helm-for-files)

Helmを使っていてかなり困ったのが、C-x bで表示されるバッファの切り替えがHelmの仕様に変わってしまったことでした。なので、anything-for-filesと同様の機能を持つhelm-for-filesC-x bに担当させました。

C-x C-fはHelm標準に慣れるようになにもしていません。

まとめ

いかがだったでしょうか。ライトユーザーな私がどうにか使えるようにしてみたのを紹介するかたちになっています。

色々と足らないところは多いでしょうが、私と同じくライトなユーザーの方の役に立てば嬉しいです。