Come posso trovare e impostare la mia variabile d'ambiente $ EDITOR?


28

Quando sto usando ipython o ipython3, posso usare il comando% edit per aprire un editor in cui scrivere i miei script python. Il mio problema è che l'editor predefinito è vim e non riesco davvero a usare quell'editor. Quello che vorrei fare è cambiare l'editor in nano o gedit. Penso che per stare con il terminale preferirei cambiarlo nel nano editor.

Quando scrivo "modifica?" comando nel terminale ipython dice:

% edit esegue il hook dell'editor di IPython. La versione predefinita di questo hook è impostata per chiamare l'editor specificato dalla variabile di ambiente $ EDITOR. Se questo non viene trovato, per impostazione predefinita vi sarà sotto Linux / Unix e il blocco note sotto Windows. Vedi la fine di questa documentazione per come modificare l'hook dell'editor.

Quindi quando vedo la fine di quella dottrina vedo questo:

Modifica del gancio dell'editor predefinito:

Se si desidera scrivere il proprio hook di editor, è possibile inserirlo in un file di configurazione che si carica all'avvio. L'hook predefinito è definito nel modulo IPython.core.hooks e puoi usarlo come esempio iniziale per ulteriori modifiche. Tale file contiene anche istruzioni generali su come impostare un nuovo hook da utilizzare dopo averlo definito.

Mi dispiace essere un principiante, ma mi perdo qui. Non sono sicuro di come accedere al modulo IPython.core.hooks o semplicemente impostare una variabile di ambiente $ EDITOR su nano.

Eventuali suggerimenti?

Risposte:


38

Puoi impostare la $EDITORvariabile con questo comando:

export EDITOR="/usr/bin/nano"

Ciò definirà la variabile EDITORper la sessione corrente e la passerà nell'ambiente di tutti i suoi processi figlio. Per impostarlo in modo permanente è necessario definirlo in uno dei file di configurazione del sistema. Il livello più alto al quale puoi farlo è di impostarlo /etc/environment. Questo lo definisce a livello globale:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
EDITOR="/usr/bin/nano"

Verifica che la variabile sia definita:

$ echo $EDITOR
/usr/bin/nano

Nota del redattore: è spesso preferibile inserire le variabili di ambiente nelle proprie ~/.profile, che è molto più facile da risolvere se qualcosa va storto.


Ho aggiunto la riga 'EDITOR = "/ usr / bin / nano"' al mio file / etc / environment, ma non sembra funzionare. Devo riavviare?
Willoczy,

Ora riavvia il sistema e verranno applicate le impostazioni.
Danatela,

inizia una nuova sessione e il gioco è fatto!
Luis Siquot,

3
Non è necessario riavviare per rendere effettive le modifiche, eseguire solo source /etc/environmentdopo aver modificato il file.
cremefraiche,

@cremefraiche Temo che non sia corretto. Non è un file di script, quindi non è possibile "sorgente". Sarebbe corretto per altri file di configurazione comuni come .profile. Il meglio che puoi fare è disconnettersi e riconnettersi. Questa è l'unica volta che il file viene letto. Leggi questa breve sezione: help.ubuntu.com/community/…
Haggra,

18

Aggiungi linea

export EDITOR=nano

al tuo ~/.profilee ~/.bashrccome nella seguente immagine. Do Non mettere le virgolette intornonano

inserisci qui la descrizione dell'immagine

e poi corri

source ~/.profile 
source ~/.bashrc

al prompt dopo la modifica .profilee .bashrcper rendere effettiva la modifica.

inserisci qui la descrizione dell'immagine

Ora l' %editin ipythonsi aprirà nano.

~/.bashrc sarà richiesto interactive + non-loginshell

mentre ~/.profilesarà richiestointeractive + login shell

Nel tuo caso è sufficiente aggiungerlo al ~/.bashrcposto di ~/.profile.


1
.bashrcdeve essere utilizzato solo per le impostazioni Bash-specifici (ad esempio, le opzioni di shell, alias, ecc), mentre .profiledovrebbero essere utilizzati per impostare variabili d'ambiente come EDITOR(che viene usato da programmi come sudoedit, gitecc). Vedi unix.stackexchange.com/a/3085/22812 e unix.stackexchange.com/a/42765/22812
Anthony G - giustizia per Monica,
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.