2011-01-05 9 views
15

używam emacs jak mój redaktor z wyboru, a ponieważ robię dużo pracy w terminalu zawsze uruchamiać emacs jak.emacs Edytuj, aby zawsze uruchamiać Emacsa w trybie terminalowym?

emacs -nw 

tak, że działa w terminalu zamiast w oknie .

Chciałbym po prostu uruchomić emacs i mieć pewność, że powinien działać w terminalu. Moje pytanie brzmi - jak mogę edytować plik .emacs, aby było to zachowanie domyślne?

+0

Z jakiego systemu operacyjnego korzystasz? Wiele dystrybucji Linuksa ma pakiet emacs-nox lub coś podobnego o tej samej nazwie. Jest to realizowane bez pomocy graficznej, więc zawsze będzie działać w terminalu. – KeithB

+0

Jestem na Ubuntu 10.10, jeśli to pomaga. – templatetypedef

+0

Co ciekawe, w systemie Mac OSX emacs zawsze oznacza dla mnie emacs -nw. –

Odpowiedz

25

Nie można tego zrobić w pliku .emacs. Do czasu analizowania tego pliku "wybrane" binarne emacs już działa.

Możesz zainstalować pakiet emacs-nox, jak sugeruje jeden z komentujących, lub utworzyć alias w powłoce, aby "emacs" był zawsze traktowany jako "emacs -nw".

Randy

+1

+1 za sugestię aliasu - zignoruj ​​drogę w tym przypadku – cristobalito

+0

Dzięki za szczegółową odpowiedź! Wypróbuję to. – templatetypedef

+1

emacs-nox, wow.Co za świetny pakiet. Dziekuje panu! – meawoppl

14

używam aliasu bash zamiast .emacs to zrobić.
Dodaj tę linię do ~/.bashrc.

alias emacs='emacs -nw' 
2

Jest jakiś prosty sposób na rozwiązanie tego problemu w ogóle, że nie ma nic wspólnego z emacs na wszystkich i będzie pracować dla każdego programu, który może wybrać między pracą w konsoli vs X:

unset DISPLAY 

Oczywiście możesz nie chcieć umieścić tego w pliku konfiguracyjnym, aby zastosować go globalnie do wszystkich sesji powłoki, więc jeśli chcesz, aby był stosowany tylko dla emacs, to albo wywołaj go z wiersza poleceń:

DISPLAY= emacs 

uwaga przestrzeń !!! jeśli pozostawić przestrzeń na zewnątrz oznacza, że ​​jesteś ustawienie wyświetlacza, emacs zamiast ustawiania zobrazowania nic ... To polecenie jest skrótem dla:

DISPLAY=; emacs 

więc albo użyć powyższego z linii poleceń (ów) lub umieścić, że w skrypcie otoki, że będzie wyglądać mniej więcej tak:

#!/bin/bash 
unset DISPLAY 
exec emacs 

polecam exec tam, ponieważ będzie ona zastąpić skrypt otoki z emacs; Aby zobaczyć różnicę między nimi można uruchomić:

pstree -p 
+1

btw: Jestem ciekawy - dlaczego CHCESZ zawsze uruchamiać emacs w konsoli, jeśli używasz środowiska X? – aculich

+0

To trzecie polecenie ze średnikiem to * NIE * tak samo jak drugie polecenie. Jeśli dodasz średnik, ustaw DISPLAY na pusty w bieżącej powłoce, jak również w procesie potomnym emacsa. Bez średnika odnosi się tylko do emacs. Średnik jest destrukcyjny. – Thomas

+0

Dlaczego chcesz otworzyć miliard okien? Wykonuję też całą pracę związaną z kodowaniem wewnątrz "ekranu", co nie ma sensu w przypadku X. @aculich – Thomas

1

Kiedy po raz pierwszy utworzenie „Emacs -nw” alias emacs w oknach utknąłem w sytuacji, gdy myślałem wyjaśnienie tototoshi nie pracował . Jednak wszystko, co było wymagane, to restart mojego terminalu. Dlatego myślę, że warto wspomnieć, że w oknach (przynajmniej) jeśli używasz emacs w terminalu bitu git do utworzenia pliku .bashrc i dodania do niego "alias emacs = 'emacs -nw" (jak wspomina tototoshi) zamknąć i ponownie otworzyć terminal, aby działał.

+0

lub, jak myślę, wpisz "termin". jest polecenie, aby to zrobić. – Thufir

Powiązane problemy