LoginSignup
5
7

More than 5 years have passed since last update.

Evilで、スペースキーを起点としたキーバインドがかなり快適

Last updated at Posted at 2017-01-31

これを書いたら、EmacsでSpacemacsっぽい挙動になってめっちゃ快適。
素直にSpacemacs使えよって話ですが・・・

~/.emacs.d/init.el
(require 'evil)
(evil-mode t)

(if (evil-mode)
    (progn
      (bind-keys :map evil-visual-state-map
                 ("TAB" . indent-for-tab-command))
      (bind-keys :map evil-normal-state-map
                 ("SPC b" . ido-switch-buffer)
                 ("SPC f" . projectile-find-file)
                 ("SPC a" . helm-do-ag-project-root)
                 ("SPC x" . smex)
                 ("SPC s" . save-buffer)
                 ("SPC d" . dired-jump)
                 ("SPC k" . kill-this-buffer)
                 ("SPC r" . ido-recentf-open)
                 ("SPC 1" . delete-other-windows)
                 ("SPC 0" . delete-window)
                 ("SPC q" . delete-frame)
                 ("SPC t" . xref-find-definitions-other-window)
                 ("SPC y" . browse-kill-ring)
                 ("SPC u" . undo-tree)
                 ("TAB" . indent-for-tab-command))
      (bind-keys :map evil-insert-state-map
                 ("C-g" . evil-normal-state)))

ただ、相性の問題なのか、web-modeでちょいちょい不具合が起こったので、Evilを使うのはやめておきます。

GUIのEmacsならもうちょっとまともに動くかもしれない。

ポエム

しかしながら、Vimの操作性も捨て難いですな。
ci(とか、テキストオブジェクトの使い勝手が良い。
あとはgigvddあたりがやっぱり馴染むなあ。

究極カスタマイズした、こちらの記事も気になる。

Emacsでのmyvim-mode、その結果のガラパゴスインターフェース
http://d.hatena.ne.jp/mizchi/20100807/1281106431

スペースキーは押しやすいから、もっと使っていきたいんだよなあ。

evil-modeからインサートした時に、evil-mode nilしたいんだけどやり方がわからない。

(bind-key* "ESC" evil-mode)
(add-hook 'evil-insert-mode-hook 
          (lambda() (evil-mode nil)))

みたいなことがしたいんだけど、やり方が分からない。

post-command-hook 使えばいいのか・・・?

  • 追記

普通にできました。

(defalias 'evil-insert-state 'evil-emacs-state)
(define-key evil-emacs-state-map (kbd "<escape>") 'evil-normal-state)

Spacemacsの C-zevil-emacs-state に割り当てられていたので、見つかった。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7