Establecer emacs -nw como editor predeterminado

13

Al editar archivos como sudoers, quiero usar emacs en lugar de nano. Entonces ejecuté este comando

sudo update-alternatives --config editor

Y seleccioné emacs. El único problema es que me gustan los emacs en modo sin ventana (el indicador -nw) y he alias emacs emacs='emacs -nw'para que no pueda usar el modo de ventana en uso normal, pero no sé cómo hacer que mi editor predeterminado sea en modo sin ventana.

En otras palabras, necesito obtener el comando sudo visudoy comandos similares que abren editores para abrir el archivo emacs -nw. ¿Cómo puedo hacer esto? Estoy en Ubuntu 12.04.

gsingh2011
fuente
Esto no está relacionado, pero si tiene la intención de usar 'emacs -nw' como su editor de terminal predeterminado, es posible que desee buscar en emacsclient y ejecutar emacs como demonio. De lo contrario, pensaría que sería demasiado lento para el inicio. Con un servidor emacs, es un inicio prácticamente instantáneo y no es difícil de configurar.
Dodgie el

Respuestas:

8

Cree un script que inicie emacs con el indicador -nw, por ejemplo, / usr / local / bin / emacs-nw.

#!/bin/sh

emacs -nw "$@"

Instálelo con las alternativas de actualización --instalar.

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/emacs-nw 2

Configure el editor para que sea su nuevo script.

sudo update-alternatives --set editor /usr/local/bin/emacs-nw
McNisse
fuente
2
Para aquellos que no utilizan sistemas alternativas de actualización del momento, chmod +x /usr/local/bin/emacs-nwy export EDITOR='emacs-nw'en .bashrchacer el truco.
smonff
1
Simplemente actualizar la variable de shell EDITOR para llamar emacs -nwes más tradicional y no involucra toda esta extraña creación de archivos para una tarea tan simple. ¿Por qué es esto mejor?
vaer-k
6

Agregue lo siguiente a su ~/.bashrcarchivo (o el archivo de configuración para su shell si no es Bash).

export EDITOR="emacs -nw"

Esto debería establecer (y exportar) una variable env configurando su editor predeterminado como Emacs en modo no gráfico.

Haziz
fuente
Después de configurar, EDITOR¿cómo abriría Emacs en modo gráfico?
Manolete
2
@Manolete que puede usar command emacs, esto ejecutará Emacs sin alias y demás . Por supuesto que también puedes unalias emacspara una sesión.
Kyrremann
@Manolete Al iniciar realmente emacs con emacsla línea de comando o al hacer clic en su icono, se iniciará la forma gráfica. El comando anterior en mi publicación solo establece la variable ambiental EDITOR en "emacs -nw", en realidad no crea un alias. Simplemente le dice al shell que su editor preferido es emacs -nw. emacsaún lanzará la forma gráfica.
haziz
1

Tengo siguiente configuración en mi ~/.bashrc

export EDITOR="emacsclient -t -a=\"\""

Primero intentará conectar el servidor emacs daemon si ya está iniciado; de lo contrario, inicie primero el servidor daemon y luego vuelva a conectarse.

Del mismo modo, tengo la siguiente configuración en mi ~/.gitconfig

[core]
    editor = emacsclient -t -a=\\\"\\\"
Jiacai Liu
fuente