「GNU Emacs」- 使用标签栏(Tab Bars and Tab Line)

  CREATED BY JENKINSBOT

问题描述

在 GNU Emacs 中,虽然 Frame 可以切割为多个 Window 以同时显示多个文件。但是受显示器的尺寸的限制,Window 依旧比较小。

我们可以使用标签栏,而仅在必要的时候使用 Window 分割功能。标签栏是个常用功能,是在历史中沉淀下来的界面交互,我们怎么可能错过呢。

该笔记将记录:在 Emacs 中,如何配置并使用标签栏。

解决方案

GNU Emacs 26.1

使用 tabbar.el 插件,参考 EmacsWiki: Tab Bar Mode 页面。(我们不打算学习 tabbar.el 插件,而是直接使用 Emacs 27.1 引入的 Tab Bars 及 Tab Line 功能)

GNU Emacs 27.1

Note: Emacs 27.1 will come with two built-in tab modes, tab-bar-mode (per-frame) and tab-line-mode (per-window). See documentation for details. Tab-line-mode is similar to tabbar.el described on this page, with one buffer per tab. Tab-bar-mode is for storing one window configuration per tab.

Tab Bars(学习笔记)

我们这里仅进行关键内容的介绍。详细使用及其他内容,参考 21.17 Tab Bars 文档。

功能介绍

Tab Bars,用于保存当前在 Frame 中 Window 的布局(配置)。使用 M-x tab-bar-mode 启动。

如下截图,当在 TB-00 与 TB-01 间相互切换时,可以切换到对应的窗口布局,这就是 Tab Bars 的主要功能,即保存当前 Window 的布局:

常用快捷键

M-x tab-bar-mode,启用
M-x t 2,创建新的 Tab
M-x t 0,关闭当前 Tab
M-x t r,重命名当前 Tab

常用设置

Tab Bars 的大多数属性设置,需要通过 M-x customize-group RET tab-bar RET 完成,多半无法通过变成配置完成。

使用数字快速切换 Tab:设置 tab-bar-select-tab-modifiers 属性。

Tab Line(学习笔记)

我们这里仅进行关键内容的介绍。详细使用及其他内容,参考 20.8 Window Tab Line 文档。

功能介绍

Tab Line,便是我们常用的选项卡功能,可以在多个 Buffer 之间进行切换。

常用设置

Tab Line 的大多数属性设置,需要通过 M-x customize-group RET tab-line RET 完成,多半无法通过变成配置完成。

问题记录

# 01/28/2021 # Sr Speedbar 要放在右边 # 当我们从 Desktop Save 中恢复桌面后,Sr Speedbar 是不显示的。当我们显示 Sr Speedbar 之后,在 Tab Line 中的标签仅生下一个。我们尝试将 Sr Speedbar 放在右边后解决了该问题。

参考文献

EmacsWiki: Tab Bar Mode
https://www.gnu.org/software/emacs/manual/html_node/emacs/Tab-Line.html#Tab-Line%20
https://www.gnu.org/software/emacs/manual/html_node/emacs/Tab-Bars.html#Tab-Bars%20