Okna z kartami w Emacsie

Próbuję uzyskać wiele kart w windows, tak jak robi to vim. W Vimie karty nie są powiązane z buforami i możesz mieć wiele kart, każda z wieloma podziałami i buforami. To co do tej pory znalazłem to:

  • tabbar: pokazuje wszystkie karty.
  • winring: nie wyświetla kart w oknie i jest niezgrabny w użyciu(Najpierw trzeba nazwać każdą kartę). To jest najbliższe temu, czego chcę.

Czy ktoś ma jakieś pomysły, czy jest to możliwe? Tabs + emacs trudno szukać; większość z to co znajduję to dyskusje spacji vs tabs:)

Aktualizacja: To zdjęcie pokazuje, czego chcę.

Tutaj wpisz opis obrazka

Wiele kart i kilka podzielonych buforów na każdej karcie.

 27
Author: mit, 2010-09-15

3 answers

Używam czegoś o nazwie ElScreen , co pozwala mi robić to, czego szukasz. W rzeczywistości chciałem również tę funkcję od Vima, gdy zdecydowałem się zacząć używać Emacsa.

Poniżej znajduje się kod, którego używam w ElScreen, użyłem nawet tego samego typu skrótów klawiszowych, których używasz w Vimie. Control-C , a następnie tabe lub tabd do emulowania :tabe lub :tabd w VIM.

Aby przejść przez następny ekran, lub kartę w tym przypadku, używam Control Meta _ i Kontrola Meta +.

;; ---------------------------------------
;; 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)
Oto przykład konfiguracji karty w akcji:

Pierwszy Ekran.

alt text

Drugi Ekran:

alt text

Możesz mieć dzielone bufory używając C-x3 i C-x2 w zakładce:)

 23
Author: Mahmoud Abdelkader,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-15 19:35:48

tabbar jest zdecydowanie najpopularniejszym pakietem, ale pokazuje tylko karty dla buforów z tym samym trybem, który edytujesz(na przykład, jeśli pracujesz w pliku w trybie Pythona, wyświetli karty tylko dla wszystkich buforów w trybie Pythona). To i tak domyślne zachowanie; jestem prawie pewien, że możesz je dostosować, jeśli chcesz. Ale mam wrażenie, że popularnym sposobem zarządzania wieloma buforami w Emacsie jest ibuffer i ido-mode. Na przykład moje dostosowania .emacs obejmują

(require 'ido)
(ido-mode t)
(global-set-key "\C-x\C-b" 'ibuffer)
 4
Author: hatmatrix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-15 10:11:11

You can do C-x 4 C aby sklonować bufor : Utwórz bufor pośredni, który jest podwójną kopią bieżącego bufora. Pozwala na wyświetlenie tego samego bufora z włączonym trybem głównym w różnych oknach.

Następnie z tabbbar możesz mieć różne karty pokazujące ten sam bufor w różnych trybach na przykład.

 1
Author: Jérôme Radix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-15 11:49:11