2011-01-05 41 views
15

Yo uso emacs como mi editor de elección, y como yo estoy haciendo un montón de trabajo en un terminal que se ejecutan siempre emacs como.emacs ¿Editar para iniciar siempre Emacs en modo terminal?

emacs -nw 

para que se ejecute en el terminal en lugar de en una ventana .

me gustaría simplemente correr emacs y tienen que saber que debe ejecutarse en un terminal. Mi pregunta es: ¿cómo puedo editar mi archivo .emacs para que este sea el comportamiento predeterminado?

+0

¿Qué sistema operativo está utilizando? Muchas distribuciones de Linux tienen un paquete emacs-nox, o algo similar. Esto se cumple sin soporte gráfico, por lo que siempre se ejecutará en un terminal. – KeithB

+0

Estoy en Ubuntu 10.10, si eso ayuda. – templatetypedef

+0

curiosamente, en Mac OSX, emacs siempre significa emacs -nw para mí. –

Respuesta

25

No se puede hacer esto en el archivo .emacs. Para cuando se analiza el archivo, el binario de emacs "elegido" ya se está ejecutando.

Puede instalar el paquete emacs-nox como lo sugiere un comentarista, o cree un alias en su caparazón para que "emacs" siempre se trate como "emacs -nw".

Randy

+1

+1 para la sugerencia de alias - defo el camino a seguir en este caso – cristobalito

+0

¡Gracias por la respuesta detallada! Lo intentaré. – templatetypedef

+1

emacs-nox, wow.Qué gran paquete. ¡Gracias Señor! – meawoppl

14

estoy usando un alias de fiesta en lugar de .emacs para hacer eso.
Agregue esta línea a su ~/.bashrc.

alias emacs='emacs -nw' 
2

Hay alguna forma fácil de resolver el problema en general que no tiene nada que ver con emacs en absoluto y funcionará para cualquier programa que pueda elegir entre correr en la consola vs X:

unset DISPLAY 

Por supuesto, puede que no desee incluirlo en su archivo de configuración para aplicarlo globalmente a todas sus sesiones de shell, por lo que si desea aplicarlo solo a emacs, llámelo desde la línea de comandos de esta manera:

DISPLAY= emacs 

nota el espacio !!! si se deja el espacio a cabo significa que estás colocar el visor en emacs en lugar de establecer DISPLAY para nada ... este comando es una abreviatura para:

DISPLAY=; emacs 

Así que, o utilice la anterior desde la línea (s comando) o ponerlo en un script envoltorio que sería algo como esto:

#!/bin/bash 
unset DISPLAY 
exec emacs 

recomiendo el ejecutivo no porque va a reemplazar su guión envoltorio con emacs; para ver la diferencia entre los dos puede ejecutar:

pstree -p 
+1

BTW: Tengo curiosidad: ¿por qué DESEAS ejecutar siempre emacs en una consola si estás ejecutando en un entorno X? – aculich

+0

Ese tercer comando con un punto y coma es * NO * el mismo que el segundo comando. Si agrega el punto y coma, configura DISPLAY para vaciar en el shell actual, así como en el proceso hijo de emacs. Sin el punto y coma solo se aplica a emacs. Con punto y coma, es destructivo. – Thomas

+0

¿Por qué quieres mil millones de ventanas abiertas? También hago todo mi trabajo de codificación dentro de 'pantalla', lo cual no tiene sentido con X. @ aculich – Thomas

1

Cuando yo estaba sentado en primer lugar una "emacs -nw" alias para emacs en las ventanas me quedé atrapado en una situación en la que pensé que la explicación de tototoshi no había funcionado . Sin embargo, todo lo que se requería era un reinicio de mi terminal. Por lo tanto, creo que vale la pena mencionarlo en Windows (al menos) si está utilizando emacs dentro del terminal git bash para crear el archivo .bashrc y agregarle "alias emacs = 'emacs -nw" (como lo menciona tototoshi). para cerrar y reabrir tu terminal para que funcione.

+0

o, creo, escribo "term". hay un comando para hacer eso. – Thufir