emacs win-switch.el : 【3分割以上している人必見】ウィンドウを瞬時に切替・分割・リサイズ! | MELPA Emacs Lisp Elisp パッケージ インストール 設定 使い方 スクリーンショット
| パッケージ名 | win-switch |
| 概要(原文) | fast, dynamic bindings for window-switching/resizing |
| リポジトリ | MELPA |
| 取得先 | https://github.com/genovese/win-switch |
| バージョン | 20150208.1911 |
| 関連記事 | package:win-switch package:switch-window package:ace-window package:owdriver |
たくさんウィンドウを分割する人にとって、
次のウィンドウに切り替える C-x o は
とてつもなく使いづらいです。
それを解決するためには、これまで2つの方法がありました。
- C-tなどの1ストロークのキーに other-window を割り当てる
- smartrep.elやhydra.el(比較レビュー)など で連続実行させる
3番目の方法として、この win-switch.el も加えてください。
これは名前とうらはらにウィンドウを切り替えるだけでなく、
分割とリサイズまでやってしまいます。
もちろん、smartrepやhydraでもたくさんのキーを
連続実行可能キーに登録してしまえば可能ですが、
win-switch.elでは タイマー が設定してある点が優れています。
デフォルトではC-x oとそれに伴うキーを操作してから0.75秒秒経過すると
win-switch用の操作が無効になります。
smartrepやhydraでは時間経過しても連続実行キーを受け付けるので
ウィンドウ操作後にキーそのものの文字を入力しようとしても
連続実行のコマンドが実行されてしまいます。
これはストレス以外の何物でもありません。
このパッケージは説明文がめちゃくちゃ長いですが、
一番簡単な使い方はC-x o o …とoを連続的に
押すだけで次々とウィンドウを切り替えてくれます。
そしてウィンドウを切り替えた後すぐに他の操作に移れます。
これだけでもかなり便利ですが、
本設定ではvi風のhjklで左右上下のウィンドウに切り替えたり、
HJKLでウィンドウのリサイズを行えるようにしています。
ウィンドウ多分割派にはowdriver.el(レビュー) もおすすめです。
Fig1: こんなに分割してても安心!
win-switch インストール
このパッケージはmelpaにあるので パッケージの初期設定 を行ってください。
M-x package-refresh-contents
M-x package-install win-switch
設定 150221075044.win-switch.el(以下のコードと同一)
(require 'win-switch) ;;; 0.75秒間受け付けるタイマー (setq win-switch-idle-time 0.75) ;;; 好きなキーを複数割り当てられる ;; ウィンドウ切り替え (win-switch-set-keys '("k") 'up) (win-switch-set-keys '("j") 'down) (win-switch-set-keys '("h") 'left) (win-switch-set-keys '("l") 'right) (win-switch-set-keys '("o") 'next-window) (win-switch-set-keys '("p") 'previous-window) ;; リサイズ (win-switch-set-keys '("K") 'enlarge-vertically) (win-switch-set-keys '("J") 'shrink-vertically) (win-switch-set-keys '("H") 'shrink-horizontally) (win-switch-set-keys '("L") 'enlarge-horizontally) ;; 分割 (win-switch-set-keys '("3") 'split-horizontally) (win-switch-set-keys '("2") 'split-vertically) (win-switch-set-keys '("0") 'delete-window) ;; その他 (win-switch-set-keys '(" ") 'other-frame) (win-switch-set-keys '("u" [return]) 'exit) (win-switch-set-keys '("\M-\C-g") 'emergency-exit) ;; C-x oを置き換える (global-set-key (kbd "C-x o") 'win-switch-dispatch)
実行方法
$ wget http://rubikitch.com/f/150221075044.win-switch.el $ emacs -Q -f package-initialize -l 150221075044.win-switch.el
本サイトは、広大なるEmacs界の道具としてあなたの役に立ちたいという純粋な奉仕で運営しています。 掲載しているコードは複写・転載など自由に使っていただいて構いません。 改良・MELPAパッケージ化していただけると最高に嬉しいです。
もし、うまく動作しないのならば rubikitch __at__ ruby-lang __dot__ org までメールしてください。
タグ
2015/02/21 | コメント/トラックバック(3) | トラックバックURL |
カテゴリー:Emacs
トラックバック&コメント
トラックバック
-
[…] <2015-02-21 Sat> win-switch.elの方がもっと使いやすいです。 […]
-
[…] <2015-02-21 Sat> win-switch.elも仲間に入れてください。 […]
コメント
[…] <2015-02-21 Sat> win-switch.elの方がもっと使いやすいです。 […]