UP | HOME

emacs and tab

Table of Contents

Last modified: 20241015T1642+0900


2020年8月にリリースされたemacs27.1から、emacsはタブエディターに進化していたのに、つい最近まで知らなかった。(2024-10-15現在)

くやしいので紹介記事を書こうと思う。

Thunderbirdというメーラーがあり、重たいのに一定の人気があるのは、タブが使えるからだという説があるし、自分もそうだと思う。複数のメールを参照しながらメールを作成するようなときにとても便利だ。複数のWebページを「タブ」で切り替えて閲覧するタブブラウザーの仕組みがもとになっていると思われる。

emacsで複数の文書を読み込んで切り替えるのには、次の三つの方法がある。

  1. window
  2. frame
  3. tab

順番に見ていこう。

1. window

21 Multiple Windows

おなじみのやつで、フレームを横分割(C-x 2)、または縦分割(C-x 3)する。二つの文書を見比べるのには便利だが、三つ以上になると苦しい。

2. frame

22 Frames and Graphical Displays

一般的には「ウインドウ」と呼ぶが、emacsでは、「ウインドウ」が前の意味で使われるので、「フレーム」と呼んで区別する。やはり、たくさんのフレームを開いて作業するのは煩雑だ。MS Wordで複数の文書を選択して起動すると、この状態になる。

emacsで、新しいフレームを開くコマンドは C-x 5 2 。作業スペースとは違うところに何かを表示させておきたいときに使えるが、時間がたつとぐだぐだになってしまうことが多い。

3. tab

22.17 Tab Bars

タブブラウザのように、一つのフレームの中に、複数の文書が「タブ」で切り替えられていく。文書間の行き来が簡単で、しかもタブに文書名が表示されているので、どの文書が開いているかが一目でわかる。

いわゆる「テキストエディター」と呼ばれるソフトウエアにはこの機能を備えているものが多い。

新しいタブを開くコマンドは、 C-x t 2

3.1. key bindings

キーストロークがちょとだけ長いので、使いやすいものに割り当てている。

(use-package emacs
  :bind (
         ("s-<right>" . tab-next)
         ("s-<left>" . tab-previous)
         ("s-<up>" . tab-new)
         ("s-<down>" . tab-close)
         ("s-b" . switch-to-buffer-other-tab)    
         ("s-n" . tab-new)
         ("s-o" . tab-next)      
         ("s-w" . tab-close)
         ("s-<return>" . tab-switch)
         )
  )

Macだと、 s-command キーを押しながらを意味するので、矢印キーのそれぞれに、左右タブへの移動、タブの開閉を割り当ててみた。他には、 command キーを使ったMacの標準的なキー操作を真似た動作を割り当てたが、最後の、 command-<return> は便利。その時に開いているタブのリストが表示され、そこから選んで飛べる。


Author: Yoshinori Ueeda

Created: 2024-10-15 Tue 16:42

Validate