2009-08-28 14 views
36

Zastanawiam się, czy ktoś tam używa ssh przez powłokę emacsa. Jestem w stanie połączyć się ze zdalnym komputerem, ale nie mogę otwierać plików do przeglądania/edycji z emacsem używając "nazwy emacs", ponieważ "Terminal" nie jest wystarczająco potężny, aby uruchomić emacs "(normalnie emacs otwierałoby się w konsoli, gdy łączenie przez terminal).ssh przez powłokę emacs?

Czy to jest zły pomysł, aby spróbować użyć emacs w taki sposób, czy jest to możliwe z kilkoma poprawkami? Dzięki wielkie!

Odpowiedz

14

Kilka pomysłów

  • source .bashrc wyraźnie poprzez . ~/.bashrc i/lub zmienić swoje bash pliki startowe i ~/.profile tak, że ten jest ładowany wewnątrz powłoka emacs; następnie działa ssh w powłoce Emacsa działa dobrze
  • Użyj specyficznego dla emacsa Tramp mode, aby uzyskać dostęp do plików zdalnych przez ssh w swoich lokalnych emacach - jest to przydatne, jeśli potrzebujesz tylko zaktualizować/dotknąć/edytować zdalny plik, abyś mógł nie trzeba otwierać zdalnego emacsa wewnątrz sesji ssh rozpoczętej od wewnątrz lokalnych emacs.
+0

Będę musiał sprawdzić ten tryb Trampa, brzmi świetnie. Dzięki! – hatmatrix

+1

Tak - drugi pytający pobił mnie do pierwszej odpowiedzi minutę lub dwie, ale włóczęga jest tym, na co masz ochotę, jeśli chcesz szybko edytować plik lub dwa hosty. Po prostu kopiuje go do twojego komputera i wysyła aktualizacje z powrotem przez scp - bez konieczności zrobienia tego wprost. To może być o wiele więcej wagi niż eksport sesji X11 (co słusznie wskazał jako inną opcję). Ponadto, tramp jest bardzo kontynuacją starszego ftp ange, o którym wspomniał. –

+0

Tak, zauważyłem, że tramp zastępuje ange ftp (zgodnie z innymi wątkami). A moje połączenia X11 wydają się strasznie wolne, więc tramp jest zdecydowanie lepszy w mojej sytuacji. Dziękuję Ci. – hatmatrix

16

Emacs ma termin-tryb, który jest emulatorem terminala w pełnym wydaniu. Możesz uruchamiać emacs w emacs. Wszystko, co uruchomisz na terminalu, będzie działało w trybie termym

Również emacs ma tryb trampowy, który może otwierać pliki przez ssh.


/scp:[email protected]#port:/ 

spowoduje przesłanie plików w tę iz powrotem. po prostu edytuj je tak, jakbyś edytował pliki lokalne.

Nie ma potrzeby przesyłania dalej x11 lub innych przesiadek.

+0

Dzięki - wydaje się, że jest wiele opcji: shell, eshell i term ... który z nich wolisz? Trochę googlowałem i wydawało się, że "shell" jest najczęściej używanym ... – hatmatrix

+0

Powłoka i skorupa mimo ich nazw nie są prawdziwymi muszlami. po prostu czytają i piszą do procesu. Z drugiej jednak strony termin jest emulatorem terminala, podobnie jak terminal osx lub xterm na linuxie. możesz nawet uruchamiać w nim rzeczy, których nie możesz zrobić w powłoce. używaj wyrażenia, jeśli chcesz żyć w emacs i używać powłoki, jeśli chcesz uruchamiać szybkie polecenia i nadal używać terminala (xterm itd.) –

+2

Ah, tak - wydaje się, że niektóre z nich dotyczą terminów, które nie zawierają dokumentacji powłoki i eshell ma, ale wydaje się, że obsługuje moją sesję ssh lepiej niż shell ... ale emacs w emacs? "emacs: termin eterm-color terminala nie jest zdefiniowany." mówi coś o konieczności zmiany zmiennej TERM, ale jeśli czytam ją więcej, przypuszczam, że można to zrobić? Straszny! – hatmatrix

38

To może nie być oczywiste na pierwszy rzut oka, ale eshell, powłoka czyli realizowane w Emacs Lisp współpracuje z tramp:

Welcome to the Emacs shell 

~ $ uname -a 
Linux local-machine 2.6.30-1-686 #1 SMP Thu Jul 30 14:45:30 UTC 2009 i686 GNU/Linux 
~ $ cd /ssh:[email protected]:~ 
/ssh:[email protected]:/home/user $ uname -a 
Linux remote-machine 2.6.18-6-686 #1 SMP Thu Aug 20 21:56:59 UTC 2009 i686 GNU/Linux 
/ssh:[email protected]:/home/user $ 
+1

Wow, to wygląda niesamowicie. Emacs ma dwa zbyt wiele opcji powłoki! – hatmatrix

+2

@hillu Jestem po prostu ... utknąłem na moim krześle! W tej chwili używałem trampu do uzyskiwania dostępu do plików zdalnych przez godzinę. Dzięki twojemu pocztowi uruchomiłem program eshell, który umieścił mnie bezpośrednio w "zdalnej maszynie". I wiesz co? możesz nawet kopiować pliki z jednego komputera na drugi tak łatwo, jak wywołując polecenie '' 'cp'''. NIESAMOWITE!! –

+2

, a następnie możemy normalnie znaleźć i edytować pliki! 'Cx Cf' działa, a niektóre elisp podobne' find-file' też :) http://wikemacs.org/wiki/Eshell#Built-In_Commands – Ehvince

1

mam zmaga się z Xming, który działa, ale jak mój połączenie internetowe nie jest najszybsze. Muszę poczekać 30 sekund, zanim pojawi się emacs lub jakakolwiek aplikacja X. Przewijanie bufora po jego otwarciu będzie od czasu do czasu zamarzać => Bardzo denerwujące:

Wypróbuj No machine (serwer/klient nxserver-freenx). Są serwery z darmową edycją, absolutnie najlepsze i najszybsze rozwiązanie, gdy chcesz podłączyć się do Linux-a i używać xterm i emacs zamiast X. Pojawia się natychmiast i reaguje tak szybko.Nawet na bardzo powolne połączenie :-) Klienci są dostępne dla systemów Windows, Mac OS, Linux

+0

interesujące - sprawdzi się w pewnym momencie, dziękuję ~ – hatmatrix

Powiązane problemy