2012-09-21 14 views
8

Załóżmy Jestem w terminalu w Emacs (MX terminu), a ja wymienić następujące pliki w bieżącym katalogu:otworzyć plik w buforze emacs natomiast w terminalu emacs

text_code.R

Teraz jestem w bash -3.2 $ (terminal) i mam nadzieję otworzyć ten plik .R w innym buforze Emacs, a następnie edytować. Czy jest jakiś sposób na zrobienie tego? To może być trywialne pytanie, ponieważ jestem początkującym dla Linuksa i Emacsa. Z góry dziękuję!

Odpowiedz

7

Pamiętaj, że w trybie Term można wpisać C C C-f otworzyć plik (podobnie jak C-x C-f poza trybie Term). Monit będzie już w twoim bieżącym katalogu, więc musisz po prostu zacząć wpisywać nazwę pliku i automatycznie uzupełnić go za pomocą TAB TAB.

+0

wielkie dzięki! To działa i jest naprawdę wygodne w trybie bash :) – alittleboy

+0

Ale, co zaskakujące, jest to zależne od powłoki. To nie działa w 'fish-shell' – nitishch

2

nie wiem oficjalnej procedury, co chcesz zrobić, ale tutaj jest to procedura, która działa:

  1. Albo powiedzieć emacsowi działać jako demon (Ref: EmacsAsDaemon) lub w emacs uruchom demona za pomocą M-x server-start.

  2. W tym czasie polecenie takie jak emacsclient -n filename rozpocznie edycję określonego pliku w bieżącym oknie. Uwaga: emacsclient ma również opcję -c, --create-frame do edycji w nowej ramce. Prawdopodobnie będziesz chciał użyć opcji -n jak wyżej, więc możesz kontynuować używanie swojego terminu, po wybraniu go z listy buforów w innym okienku lub ramce.

  3. Jeśli uruchomisz demona poprzez M-x server-start w emacs, demon zakończy działanie po wyjściu z emacs. Jeśli skonfigurowałeś to przez odniesienie wymienione powyżej, użyj poleceń kill-emacs lub save-buffers-kill-emacs lub polecenia powłoki emacsclient -e '(kill-emacs)', aby je zatrzymać, jak wspomniano w części 6 odnośnika.

+0

Dziękujemy za uwagi! Wydaje się, że jest trochę skomplikowana ... mam nadzieję, że zobaczę niektóre kluczowe wiązania w emacs, które wykonają pracę. Może nie ma żadnego. W każdym razie, dzięki jeszcze raz! – alittleboy