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ę.
Wiele kart i kilka podzielonych buforów na każdej karcie.
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.
Drugi Ekran:
Możesz mieć dzielone bufory używając C-x3 i C-x2 w zakładce:)
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)
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.
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