web-dev-qa-db-ja.com

Emacsのタブ付きウィンドウ

VimのようにWindowsで複数のタブを取得しようとしています。 vimでは、タブはバッファーに関連付けられておらず、それぞれに複数の分割とバッファーが含まれる複数のタブを持つことができます。私がこれまでに見つけたのは:

  • タブバー:すべてのタブを表示します。
  • winring:ウィンドウにタブが表示されず、使用するのが面倒です(最初に各タブに名前を付ける必要があります)。これは私が欲しいものに最も近いです。

これが可能であれば、誰かが何かアイデアを持っていますか? Tabs + emacsは検索が困難です。私が見つけたもののほとんどは、スペースとタブの議論です:)

更新:この写真は私が欲しいものの種類を示しています。

enter image description here

複数のタブと各タブの分割バッファの束。

30
MDCore

私は ElScreen と呼ばれるものを使用します。これにより、あなたが探していることを実行できます。 Emacsを使い始めることにしたとき、私は実際にVIMからもこの機能が欲しかった。

以下は私がElScreenに使用するコードで、VIMで使用するのと同じタイプのキーバインディングも使用しました。 Control-C、続いてtabeまたはtabdを使用して、:tabeまたは:tabdVIMで。

次の画面、この場合はタブを繰り返すために、私は ControlMeta_ そして ControlMeta+

;; ---------------------------------------
;; load elscreen
;; ---------------------------------------
(load "elscreen" "ElScreen" t)

;; F9 creates a new elscreen, shift-F9 kills it
(global-set-key (kbd "C-c t a b e") 'elscreen-create)
(global-set-key (kbd "C-c t a b d") 'elscreen-kill)

;; Windowskey+PgUP/PgDown switches between elscreens
(global-set-key (kbd "C-M-_") 'elscreen-previous)
(global-set-key (kbd "C-M-+") 'elscreen-next)

動作中のタブ設定の例を次に示します。

最初の画面。

alt text

2番目の画面:

alt text

を使用してバッファを分割できます C-x3 そして C-x2 タブで:)

24

tabbarは私が思うに最も人気のあるパッケージですが、編集しているのと同じモードのバッファーのタブのみが表示されます(たとえば、Pythonモードでファイルを操作している場合は、すべてのPythonモードバッファのタブのみを表示します)。とにかく、これがデフォルトの動作です。必要に応じてカスタマイズできると確信しています。しかし、私の印象では、Emacsで複数のバッファーを管理する一般的な方法は、ibufferido-mode 。たとえば、私の.emacsカスタマイズには以下が含まれます

(require 'ido)
(ido-mode t)
(global-set-key "\C-x\C-b" 'ibuffer)
4
hatmatrix

できるよ C-x4c バッファのクローンを作成するには:現在のバッファのツインコピーである間接バッファを作成します。これにより、異なるウィンドウで異なるメジャーモードが有効になっている同じバッファを表示できます。

次に、 tabbar を使用すると、たとえば、異なるモードで同じバッファを表示する異なるタブを持つことができます。

1
Jérôme Radix