Używasz Emacs tabbar?

Pasek kart emacs.pakiet el dodaje karty (bufor) do każdego okna i jest standardowo wyposażony w aquamacs i może być dodany do emacs23 za pomocą pakietu Emacs-goodies-el.

Czy któryś z was hardkorowych użytkowników Emacsa używa tabbara? Jestem trochę przyzwyczajony do zakładek, ale chciałbym wiedzieć, czy praca bez nich może być bardziej produktywna i czy są inne sposoby, oprócz sprawdzania listy buforów (C-x C-b), aby uzyskać przegląd bieżących plików projektu.

Jako na marginesie, bardzo lubię szufladę projektu textmate( i zakładki), ale wszystko podobne w Emacsie wygląda po prostu ohydnie.

Author: Beatlevic, 2010-09-28

11 answers

Próbowałem go używać, ale czułem, że ogranicza mój przepływ pracy, a nie go ulepsza. Istnieje wiele doskonałych trybów Emacs, które pomagają w organizacji wielu buforów i po prostu nie czuję mapowanie buforów do kart jest jednym z tych sposobów.

Pomyśl tylko o najbardziej podstawowym scenariuszu-dużo kart. Jak radzą sobie z tym różne programy-ogranicz maksymalną liczbę kart (IntelliJ IDEA); włącz przewijanie paska kart(Firefox); nieskończone zmniejszanie rozmiaru kart(Google Chrome); tworzenie wierszy tabs(IntelliJ IDEA)... Żadne z tych rozwiązań nie jest tak świetne i nie mając kart w Emacsie mamy o jeden problem mniej zmartwień. Przynajmniej taka jest moja subiektywna opinia-inni z pewnością się nie zgodzą... Osobiście nie potrzebuję nic więcej niż ido i iswitchb .

Filmik ido w akcji: http://www.youtube.com/watch?v=lsgPNVIMkIE

 32
Author: Bozhidar Batsov,
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
2012-08-17 18:59:20

Ya, używam tabbara, wraz z Sr-speedbar.

Dostosowuję Pasek Tabb, aby wyświetlał pliki w określonych grupach, i modyfikuję niektóre skróty klawiszy, aby ułatwić nawigację po plikach.

FWIW, oto odpowiednia sekcja z mojego ~/.emacs:

(require 'tabbar)
; turn on the tabbar
(tabbar-mode t)
; define all tabs to be one of 3 possible groups: “Emacs Buffer”, “Dired”,
;“User Buffer”.

(defun tabbar-buffer-groups ()
  "Return the list of group names the current buffer belongs to.
This function is a custom function for tabbar-mode's tabbar-buffer-groups.
This function group all buffers into 3 groups:
Those Dired, those user buffer, and those emacs buffer.
Emacs buffer are those starting with “*”."
  (list
   (cond
    ((string-equal "*" (substring (buffer-name) 0 1))
     "Emacs Buffer"
     )
    ((eq major-mode 'dired-mode)
     "Dired"
     )
    (t
     "User Buffer"
     )
    ))) 

(setq tabbar-buffer-groups-function 'tabbar-buffer-groups)

(global-set-key [M-s-left] 'tabbar-backward)
(global-set-key [M-s-right] 'tabbar-forward)

Jest wiele innych porad na emacswiki: http://www.emacswiki.org/emacs/TabBarMode

 22
Author: Josh,
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-28 15:22:41

Nie.

Używam iswitch-b

C-x b "pierwsze kilka liter bufora", a następnie C-S, aby obrócić do konkretnego pliku, który chcę, zajmuje mi mniej niż 2 sekundy bez konieczności przesuwania ręki na mysz.

 10
Author: Paul Nathan,
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-28 15:28:50

Nie. Mógłbym być przekonany, aby spróbować ponownie z odpowiednim dostosowaniem, ale domyślnie jest to dość bezużyteczne dla mnie, ponieważ zwykle mam otwarte ponad 100 buforów. ibuffer dzięki filtrowaniu i grupowaniu jest najlepszym sposobem zarządzania dużą liczbą buforów, które próbowałem.

 7
Author: phils,
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-28 21:32:06

Lubię używać speedbara do szybkiej nawigacji w buforze. Mam w swoim .emacs

(speedbar-change-initial-expansion-list "buffers")
(global-set-key  [f8] 'speedbar-get-focus)

Więc kiedy nacisnę F8, pojawi się nowa ramka z listą otwartych buforów, tam możesz przesunąć punkt nad buforem, który chcesz wybrać i go aktywować. Jeszcze jeden F8 wraca do ramy głównej.

 5
Author: fschmitt,
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-28 12:55:43

Karty nie są zarezerwowane dla użytkowników myszy. spójrz na możliwy przepływ pracy w Vimie: gt, aby przejść do następnej karty, lub gT, aby przejść do poprzedniej. Powiedzmy, że masz jedno dedykowane okno dla Vima: możesz łatwo przełączyć się z jednego bufora na drugi. Tak, zakładki są prawdopodobnie dla użytkowników z kilkoma buforami. jeśli masz setki, to nie zadziała.

 5
Author: sltbmnq,
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
2014-02-10 22:26:01

Zakładki są naprawdę przydatne tylko wtedy, gdy używasz myszy, a jedną z głównych zalet (dla mnie) Emacsa jest to, że mogę uniknąć myszy.

Więc, nie, tabbar nie jest użyteczny w ogóle.

Karty przydały mi się podczas przeglądania stron internetowych (za pomocą w3m), ale w tym przypadku używałem myszy...

 2
Author: Trey Jackson,
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-28 15:20:20

Mówiąc o zakładkach, menu i pasku narzędzi, znajdziesz lepsze edytory niż emacs. Emacs wyraźnie zachęca do używania klawiatury i pozostawienia myszy w uśpieniu.

Pasek kart lub inne narzędzie do zarządzania kartami będzie miał trudności, gdy będziesz miał wiele otwartych buforów. Nie chcesz również wyświetlać wszystkich buforów na kartach. Trzeba wyjąć rękę z klawiatury, aby chwycić myszkę i kliknąć na zakładkę, a następnie wyjąć rękę z myszy i umieścić ją na klawiatura jest oczywiście stratą czasu, gdy zamiast tego można użyć prostego naciśnięcia klawisza.

Najlepszą rzeczą, jaką możesz zrobić dla swojego Emacsa i dla Ciebie, jest posiadanie następującej konfiguracji w swoim .emacs:

(menu-bar-mode -1)          ;hide menu-bar
(scroll-bar-mode -1)            ;hide scroll-bar
(tool-bar-mode -1)          ;hide tool-bar

To zmusi cię do zapomnienia o starym sposobie robienia rzeczy za pomocą myszy (np. za pomocą paska kart lub menu...), a zamiast tego używać palców.

 2
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-29 06:43:49

Do tej pory nie próbowałem, ale zanim przełączyłem się z powrotem na GNU Emacs z Xemacsa, bardzo mocno używałem kart Xemacsa. Odkryłem, że gdy miałem wiele plików źródłowych otwartych, był to jeden z najszybszych sposobów, aby przejść do odpowiedniego pliku.

Teraz, gdy wiem o tabbarze, próbuję go; i jak na razie, podoba mi się.

  • John
 1
Author: jwernerny,
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-28 12:22:11

Tabbar wygląda jakby był zapomniany przez Boga

A co z elscreen?

Można znaleźć poprzez http://melpa.milkbox.net/#/elscreen - lub zainstalowany emacs-elpa (lub melpa).

Elscreen jest dla mnie bardzo przydatny.

 1
Author: corvinusz,
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
2013-10-17 01:10:59

C-x b<RET> zawsze daje ostatnio edytowany bufor. A co robisz z zakładkami ? Najczęściej przełączaj się między dwoma plikami. Proszę bardzo.

 0
Author: yPhil,
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
2011-06-03 17:22:28