Imposta emacs -nw come editor predefinito


13

Quando modifico file come sudoers, voglio usare emacs invece di nano. Quindi ho eseguito questo comando

sudo update-alternatives --config editor

E ho selezionato emacs. L'unico problema è che mi piacciono gli emacs in nessuna modalità finestra (il flag -nw) e ho emulato alias emacs in emacs='emacs -nw'modo da non poter usare la modalità finestra in uso normale, ma non so come ottenere il mio editor predefinito in modalità senza finestra.

In altre parole, ho bisogno di ottenere il comando sudo visudoe comandi simili che aprono gli editor con cui aprire il file emacs -nw. Come posso fare questo? Sono su Ubuntu 12.04.


Questo non è correlato, ma se hai intenzione di usare `emacs -nw 'come l'editor terminale predefinito, potresti voler esaminare emacsclient ed eseguire emacs come demone. Altrimenti, penserei che sarebbe troppo lento all'avvio. Con un server emacs, è un avvio praticamente istantaneo e non è difficile da configurare.
Dodgie,

Risposte:


8

Crea uno script che avvia emacs con -nw flag, ad esempio / usr / local / bin / emacs-nw.

#!/bin/sh

emacs -nw "$@"

Installalo con update-alternatives --install.

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

Configura l'editor come nuovo script.

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

2
Per coloro che non usano update-alternatives sistemi presenti, chmod +x /usr/local/bin/emacs-nwe export EDITOR='emacs-nw'nel .bashrcfare il trucco.
smonff,

1
Il semplice aggiornamento della variabile shell EDITOR da chiamare emacs -nwè più tradizionale e non comporta la creazione di tutti questi strani file per un'attività così semplice. Perché è meglio?
vaer-k,

6

Aggiungi quanto segue al tuo ~/.bashrcfile (o al file di configurazione per la tua shell se non è Bash).

export EDITOR="emacs -nw"

Questo dovrebbe impostare (ed esportare) una variabile env che imposta l'editor predefinito come Emacs in modalità non grafica.


Dopo aver impostato EDITORcome apriresti Emacs in modalità grafica?
Manolete,

2
@Manolete è possibile utilizzare command emacs, questo eseguirà Emacs senza alias e simili. Certo che puoi anche unalias emacsper una sessione.
Kyrremann

@Manolete Il lancio effettivo di emacs emacsdalla riga di comando o facendo clic sulla sua icona avvierà comunque il modulo grafico. Il comando sopra nel mio post imposta semplicemente la variabile ambientale EDITOR su "emacs -nw" in realtà non crea un alias. Dice solo alla shell che il tuo editor preferito è emacs -nw. emacsavvierà comunque la forma grafica.
Haziz,

1

Ho seguito l'impostazione nel mio ~/.bashrc

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

Ciò tenterà innanzitutto di connettere il server demone emacs se è già stato avviato, altrimenti avviare prima il server demone, quindi riconnettersi.

Allo stesso modo, ho le seguenti impostazioni nel mio ~/.gitconfig

[core]
    editor = emacsclient -t -a=\\\"\\\"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.