「helm」とは? いろんな機能があるようなので一言では難しいが、情報源からの絞り込みインタフェース。
私がよく使うのは、過去開いた履歴一覧から選択してファイルを開くとか、helmを使うことでファイルを開く操作が格段に楽になった。
その他いろんな場面で便利になるよう。helmを導入した備忘録を残す。
前記事で紹介した「recentf」は入れておいた方がいい。
準備
helmパッケージをインストール。
M-x package-install<RET>
helm
Emacsの設定
下記を初期設定に追加。
尚、私はinit-loaderを利用しており、~/.emacs.d/inits/35_helm.el
ファイルを作成。
;;; helmの設定
;;(require 'helm-config)
(require 'helm)
(helm-mode 1)
;;(helm-migemo-mode 1)
;; C-hで前の文字削除
(define-key helm-map (kbd "C-h") 'delete-backward-char)
(define-key helm-find-files-map (kbd "C-h") 'delete-backward-char)
;; TABとC-zを入れ替える
(define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebind tab to run persistent action
(define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB work in terminal
(define-key helm-map (kbd "C-z") 'helm-select-action) ; list actions using C-z
;;(define-key helm-find-files-map (kbd "TAB") 'helm-execute-persistent-action)
;;(define-key helm-read-file-map (kbd "TAB") 'helm-execute-persistent-action)
;; キーバインド
(global-set-key (kbd "C-c h") 'helm-mini)
(global-set-key (kbd "<f10>") 'helm-mini)
(define-key global-map (kbd "C-x b") 'helm-buffers-list)
;;(define-key global-map (kbd "C-x b") 'helm-for-files)
(define-key global-map (kbd "C-x C-f") 'helm-find-files)
(define-key global-map (kbd "M-x") 'helm-M-x)
(define-key global-map (kbd "M-y") 'helm-show-kill-ring)
C-c h
キーで、過去開いたファイルの一覧から選択できるようになる。
補足
helm-find-file
で、TABキーを押すとデフォルトでは実行メニューがでる。bashではTABキーが補完なのだが、helmではC-z
になっているので、TAB
とC-z
のキーを入れ替えた。スペースで区切って絞り込んでいけばいいが、思わず指が動く事もあるので(^^;)。
追記(2023/8/10)
いろいろ更新したら、下記エラーが発生。
Cannot open load file: No such file or directory, helm-config
どうやら、helm-config.elが削除されて、(require 'helm)
でよくなったらしい。
コメント