Emacs: Jakie funkcje lub zalety są unikalne dla GUI lub interfejsu terminala?

8

Emacsa można uruchomić we własnym oknie GUI lub w terminalu (używając -nwflagi).

Jakie funkcje lub korzyści związane z przepływem pracy są dostępne tylko w jednym trybie? Tj. Jeśli użytkownik zwykle korzysta z jednego trybu, czego mu brakuje?

Ian Mackinnon
źródło

Odpowiedzi:

8

Interfejs terminala działa, nawet jeśli nie masz X-ów, np. Podczas pracy nad ssh z komputera, na którym nie chcesz instalować Emacsa, lub aby naprawić konfigurację X, lub na sprzętowym terminalu tekstowym. (W przypadku sprawy zdalnej, jeśli możesz uruchomić Emacsa lokalnie, masz łatwiejszy przepływ pracy i mniej irytujące opóźnienie, używając trampa , np. Otwórz host.example.com:/path/to/file- patrz rozdział na temat zdalnych plików w instrukcji).

Interfejs terminala może działać wewnątrz ekranu lub tmux , więc możesz pozostawić działającą instancję i połączyć się z nią zdalnie.

Interfejs X może oczywiście robić rzeczy, których nie potrafi interfejs terminalu, takie jak wyświetlanie obrazów, używanie różnych czcionek, używanie większej liczby kolorów, pokazywanie fantazyjnego menu, a nawet pasków narzędzi, rozumienie kombinacji klawiszy, których terminal nie może przepuścić, poprawiać dostęp do myszy, bezpośredni dostęp do schowka X i innych opcji, wyświetlanie wielu okien (ramek, w języku Emacsa) na ekranie, ...

Od GNU Emacs 23 (lub XEmacs 21) nie musisz wybierać między X a terminalem: możesz otwierać ramki na dowolnej liczbie terminali tekstowych i dowolnej liczbie X wyświetlaczy z jednej instancji Emacsa. Typowym sposobem jest uruchomienie serwera Emacs i połączenie się z nim, emacsclient -nwaby otworzyć nową ramkę na bieżącym terminalu tekstowym lub emacsclient -cotworzyć nową ramkę na bieżącym wyświetlaczu X. Z poziomu Emacsa możesz używać make-frame-on-displayi make-frame-on-device.

Gilles „SO- przestań być zły”
źródło
Chociaż zgadzam się z tym, że część graficznego puchu w emacach GUI jest fajna (ale w zasadzie tylko wtedy, gdy zdarzy ci się wchodzić w interakcje z elementami takimi jak GUI, takie jak paski narzędzi i customize-menustak dalej), terminale przeszły dość długą drogę. W związku z tym większość z tych argumentów nie ma już zastosowania (patrz Kitty Terminal lub iterm). Dobre terminale pozwalają przypisać dowolny klucz do kodów ucieczki, mają ligatury, znaczniki, 24-bitowy kolor tekstu, integrację ze schowkiem oraz obsługę myszy i obrazów. Jedną wielką różnicą, o której myślę, jest to, że terminale nie obsługują wielu różnych rozmiarów czcionek.
rien333
1

Wystąpiły pewne problemy dotyczące koloru czcionki i powiązań klawiszy w -nwtrybie, nie badałem, ale myślę, że to zależy od terminalu. W każdym razie mam tendencję do używania trybu GUI, jeśli to możliwe, i nie widzę żadnych korzyści w -nwtrybie.

Cyrus
źródło
1

W trybie terminala można odłączyć sesję i podłączyć ponownie za pomocą screen

Chociaż nie używam emacs / xemacs, czasami używam VIM / GVIM i wolę wersję GUI, po prostu wydaje się, że przewijanie jest płynniejsze i nie muszę zmieniać rozmiaru terminu, co powoduje, że mój pulpit zakłada, że ​​chcę wszystkie okna ten rozmiar.

Rich Homolka
źródło
1

Jeśli używasz Emacsa w terminalu i masz otwartych wiele pionowych ramek, nie możesz podświetlać i kopiować wielu wierszy tekstu z jednej ramki; tekst we wszystkich ramkach zostanie podświetlony, ponieważ wszystkie znajdują się w jednym oknie terminala.

W interfejsie GUI ramki znajdują się w osobnych elementach okna, więc podświetlanie jest ograniczone w każdej ramce.

Ian Mackinnon
źródło