Defina emacs -nw como editor padrão


13

Ao editar arquivos como sudoers, eu quero usar o emacs em vez do nano. Então eu executei este comando

sudo update-alternatives --config editor

E eu selecionei emacs. O único problema é que eu gosto do emacs no modo sem janela (o sinalizador -nw) e aliastei o emacs emacs='emacs -nw'para que eu não possa usar o modo janela no uso normal, mas não sei como obter meu editor padrão. no modo sem janela.

Em outras palavras, eu preciso obter o comando sudo visudoe comandos semelhantes que abrem editores para abrir o arquivo emacs -nw. Como posso fazer isso? Estou no Ubuntu 12.04.


Isso não tem relação, mas se você pretende usar o `emacs -nw 'como seu editor de terminal padrão, convém consultar o emacsclient e executar o emacs como um daemon. Caso contrário, eu pensaria que seria muito lento para iniciar. Com um servidor emacs, é praticamente uma inicialização instantânea e não é difícil de configurar.
Dodgie

Respostas:


8

Crie um script que inicie o emacs com o sinalizador -nw, por exemplo, / usr / local / bin / emacs-nw.

#!/bin/sh

emacs -nw "$@"

Instale-o com update-alternative --install.

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

Configure o editor para ser seu novo script.

sudo update-alternatives --set editor /usr/local/bin/emacs-nw

2
Para aqueles que não use update-alternatives sistemas de destaque, chmod +x /usr/local/bin/emacs-nwe export EDITOR='emacs-nw'em .bashrcfazer o truque.
smonff

1
Simplesmente atualizar a variável de shell EDITOR para chamar emacs -nwé mais tradicional e não envolve toda a criação de arquivos estranhos para uma tarefa tão simples. Por que isso é melhor?
Vær-k

6

Adicione o seguinte ao seu ~/.bashrcarquivo (ou ao arquivo de configuração do seu shell, se não for o Bash).

export EDITOR="emacs -nw"

Isso deve definir (e exportar) uma variável env configurando seu editor padrão como Emacs no modo não gráfico.


Após definir EDITORcomo você abriria o Emacs no modo gráfico?
Manolete 02/03

2
@Manolete você pode usar command emacs, isso executará o Emacs sem apelidos e tal. Claro que você também pode fazer unalias emacsuma sessão.
Kyrremann

@Manolete Na verdade, iniciar o emacs emacsna linha de comando ou clicar no ícone ainda iniciará a forma gráfica. O comando acima no meu post apenas define a variável ambiental EDITOR como "emacs -nw", na verdade, ele não cria um alias. Apenas informa ao shell que seu editor preferido é o emacs -nw. emacsainda lançará a forma gráfica.
haziz

1

Tenho a seguinte configuração no meu ~/.bashrc

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

Isso primeiro tentará conectar o servidor emacs daemon se já estiver iniciado; caso contrário, inicie o servidor daemon primeiro e depois conecte novamente.

Da mesma forma, tenho as seguintes configurações no meu ~/.gitconfig

[core]
    editor = emacsclient -t -a=\\\"\\\"
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.