Окна с вкладками в Emacs - PullRequest
       30

Окна с вкладками в Emacs

28 голосов
/ 15 сентября 2010

Я пытаюсь получить несколько вкладок в окнах, как это делает vim.В vim вкладки не привязаны к буферам, и вы можете иметь несколько вкладок, каждая с несколькими разделениями и буферами в них.Что я нашел до сих пор:

  • tabbar: показывает все вкладки.
  • winring: не показывает вкладки в окне и неудобен в использовании (должен называть каждыйвкладка первая).Это ближе всего к тому, что я хочу.

У кого-нибудь есть идеи, если это возможно?Tabs + emacs трудно найти;большинство из того, что я нахожу, это обсуждение пробелов и табуляции:)

Обновление: На этом рисунке показано, что я хочу.

enter image description here

Несколько вкладок и куча разделенных буферов на каждой вкладке.

Ответы [ 3 ]

25 голосов
/ 15 сентября 2010

Я использую то, что называется ElScreen , что позволяет мне делать то, что вы ищете.Я на самом деле также хотел эту функцию от VIM, когда решил начать использовать Emacs.

Ниже приведен код, который я использую для ElScreen, я даже использовал тот же тип сочетаний клавиш, что и в VIM. Control-C , за которым следует tabe или tabd для эмуляции :tabe или :tabd в VIM.

Для итерации по следующему экрану или вкладке в этом случае я использую Контроль Мета _ и Контроль Мета + .

;; ---------------------------------------
;; 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

Второй экран:

alt text

Вы можете использовать разделенные буферы, используя Cx 3 и Cx 2 на вкладке:)

4 голосов
/ 15 сентября 2010

tabbar, безусловно, самый популярный пакет, но он показывает только вкладки для буферов в том же режиме, который вы редактируете (например, если вы работаете с файлом в режиме python, он будет показывать вкладки только для всех буферов режима Python). В любом случае, это поведение по умолчанию; Я уверен, что вы могли бы настроить это, если хотите. Но у меня сложилось впечатление, что популярный способ управления несколькими буферами в Emacs - это ibuffer и ido-mode. Например, мои .emacs настройки включают

(require 'ido)
(ido-mode t)
(global-set-key "\C-x\C-b" 'ibuffer)
1 голос
/ 15 сентября 2010

Вы можете сделать Cx 4 c , чтобы клонировать буфер: создать косвенный буфер, который является двойной копией текущего буфера.Он позволяет вам показывать один и тот же буфер с различным основным режимом, включенным в разных окнах.

Затем с вкладкой вы можете иметь разные вкладки, показывающие один и тот же буфер в разных режимах, например.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...