Comment trouver et définir ma variable d'environnement $ EDITOR?

28

Lorsque j'utilise ipython ou ipython3, je peux utiliser la commande% edit pour ouvrir un éditeur dans lequel écrire mes scripts python. Mon problème est que l'éditeur par défaut est vim et je ne comprends vraiment pas comment utiliser cet éditeur. Ce que je voudrais faire, c'est changer l'éditeur en nano ou en gedit. Je pense que pour rester avec le terminal, je préférerais le changer pour le nano éditeur.

Quand je tape dans le "modifier?" commande dans le terminal ipython, il dit:

% edit exécute le hook de l'éditeur d'IPython. La version par défaut de ce hook est définie pour appeler l'éditeur spécifié par votre variable d'environnement $ EDITOR. Si cela n'est pas trouvé, il sera par défaut vi sous Linux / Unix et le bloc-notes sous Windows. Voir la fin de cette docstring pour savoir comment changer le hook de l'éditeur.

Ensuite, quand je vois la fin de cette docstring, je vois ceci:

Modification du hook de l'éditeur par défaut:

Si vous souhaitez écrire votre propre hook éditeur, vous pouvez le mettre dans un fichier de configuration que vous chargez au démarrage. Le hook par défaut est défini dans le module IPython.core.hooks, et vous pouvez l'utiliser comme exemple de départ pour d'autres modifications. Ce fichier contient également des instructions générales sur la façon de définir un nouveau crochet à utiliser une fois que vous l'avez défini.

Désolé d'être un débutant, mais je me perds ici. Je ne sais pas comment accéder au module IPython.core.hooks, ou tout simplement définir une variable d'environnement $ EDITOR sur nano.

Aucune suggestion?

Willoczy
la source

Réponses:

38

Vous pouvez définir la $EDITORvariable avec cette commande:

export EDITOR="/usr/bin/nano"

Cela définira la variable EDITORde la session en cours et la passera dans l'environnement de tous ses processus enfants. Pour le définir définitivement, vous devez le définir dans l'un des fichiers de configuration système. Le niveau le plus élevé auquel vous pouvez le faire est de le configurer /etc/environment. Cela le définit globalement:

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

Vérifiez que la variable est définie:

$ echo $EDITOR
/usr/bin/nano

Note de l'éditeur: il est souvent préférable de mettre les variables d'environnement dans les vôtres ~/.profile, ce qui est beaucoup plus facile à corriger en cas de problème.

Danatela
la source
J'ai ajouté la ligne 'EDITOR = "/ usr / bin / nano"' à mon fichier / etc / environment, mais cela ne semble pas fonctionner. Dois-je redémarrer?
Willoczy
Redémarrez maintenant votre système et les paramètres s'appliqueront.
Danatela
commencez une nouvelle session et vous avez terminé!
Luis Siquot
3
Vous n'avez pas besoin de redémarrer pour que les modifications prennent effet, il vous suffit de l'exécuter source /etc/environmentaprès avoir modifié le fichier.
cremefraiche
@cremefraiche J'ai bien peur que ce soit incorrect. Ce n'est pas un fichier de script, vous ne pouvez donc pas le "source". Ce serait correct pour d'autres fichiers de configuration courants tels que .profile. Le mieux que vous puissiez faire est de vous déconnecter et de vous reconnecter. C'est la seule fois que ce fichier est lu. Lisez cette courte section: help.ubuntu.com/community/…
Haggra
18

Ajouter une ligne

export EDITOR=nano

à votre ~/.profileet ~/.bashrccomme dans l'image suivante. Ne mettez pas de guillemetsnano

entrez la description de l'image ici

puis exécutez

source ~/.profile 
source ~/.bashrc

à l'invite après la modification .profileet .bashrcpour que la modification prenne effet.

entrez la description de l'image ici

Maintenant , le %editen ipythonouvrira nano.

~/.bashrc sera appelé interactive + non-loginshell

alors que ~/.profilesera appelé àinteractive + login shell

Dans votre cas, il suffit de l'ajouter au ~/.bashrclieu de ~/.profile.

Stormvirux
la source
1
.bashrcdoit être utilisé uniquement pour les paramètres spécifiques à Bash (par exemple, les options shell, alias, etc.) tout en .profiledoivent être utilisés pour la définition des variables d'environnement comme EDITOR(par des programmes tels que ce qui est utilisé sudoedit, gitetc.). Voir unix.stackexchange.com/a/3085/22812 et unix.stackexchange.com/a/42765/22812
Anthony G - justice pour Monica