Emacsの分割ウィンドウを←↓↑→で移動

  • 33
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

Emacs では C-x 2C-x 3 で画面を複数のウィンドウに分割することができ、これらの間は C-x o でトグルして移動することができます。しかし、みっつ以上に分割した場合には C-x o といふ2ストロークのキーバインドを連打する必要があり、戻りたいときにも標準では C-u C-x o も利かない不親切仕様です。

ところで、 tmux といふターミナルマルチプレクサ (GNU Screen のご同類です) には、複数の分割した領域を C-b [←↓↑→] で移動できる設定が標準であります。これを拝借してきませう。

Emacs には標準で windmove といふ機能が含まれてゐます。 M-x windmove と押すと、特に設定してなくとも windmove-{left,down,up,right} 函数がご利用いただけることが確認できると思ひます。これがまさに tmux の移動と同様のものですので、ここにキーバインドを設定してやれば良さげですね。

keybindings-windmove.el
(global-set-key (kbd "C-c <left>")  'windmove-left)
(global-set-key (kbd "C-c <down>")  'windmove-down)
(global-set-key (kbd "C-c <up>")    'windmove-up)
(global-set-key (kbd "C-c <right>") 'windmove-right)

できましたー。

しかし…

EmacsWiki: Wind Move

あれっ、まったく同じことやってた…

ちなみに最初はプレフィックス C-c じゃなくて C-x でやってましたが、最近ちょっと使ひ始めてみた EmacsWiki: Back Button の標準キーバインドと衝突してたので、晴れて EmacsWiki 版と同じに戻ってしまひましたとさ。ちゃんちゃん。

  • この記事は以下の記事からリンクされています
  • ぼくの.emacs 2013からリンク