Wie finde und setze ich meine Umgebungsvariable $ EDITOR?

27

Wenn ich ipython oder ipython3 verwende, kann ich mit dem Befehl% edit einen Editor öffnen, in dem meine Python-Skripte geschrieben werden. Mein Problem ist, dass der Standardeditor vim ist und ich nicht weiß, wie dieser Editor verwendet wird. Was ich tun möchte, ist, den Herausgeber entweder zu Nano oder zu gedit zu ändern. Ich denke, um mit dem Terminal zu bleiben, würde ich es vorziehen, um den Nano-Editor zu ändern.

Wenn ich das 'edit?' Befehl in das Ipython-Terminal heißt es:

% edit führt den Editor-Hook von IPython aus. In der Standardversion dieses Hooks wird der von Ihrer Umgebungsvariablen $ EDITOR angegebene Editor aufgerufen. Wird dies nicht gefunden, wird standardmäßig vi unter Linux / Unix und notepad unter Windows verwendet. Am Ende dieses Dokuments erfahren Sie, wie Sie den Editor-Hook ändern.

Wenn ich dann das Ende dieses Dokuments sehe, sehe ich Folgendes:

Ändern des Standard-Editor-Hooks:

Wenn Sie Ihren eigenen Editor-Hook schreiben möchten, können Sie ihn in eine Konfigurationsdatei einfügen, die Sie beim Start laden. Der Standard-Hook ist im Modul IPython.core.hooks definiert und kann als Startbeispiel für weitere Änderungen verwendet werden. Diese Datei enthält auch allgemeine Anweisungen zum Festlegen eines neuen Hooks für die Verwendung, sobald Sie ihn definiert haben.

Es tut mir leid, so ein Neuling zu sein, aber ich verliere mich hier. Ich bin nicht sicher, wie ich zum Modul IPython.core.hooks komme oder setze einfach eine Umgebungsvariable $ EDITOR auf nano.

Irgendwelche Vorschläge?

Willoczy
quelle

Antworten:

37

Sie können die $EDITORVariable mit diesem Befehl festlegen :

export EDITOR="/usr/bin/nano"

Dadurch wird die Variable EDITORfür die aktuelle Sitzung definiert und an die Umgebung aller untergeordneten Prozesse übergeben. Um es dauerhaft festzulegen, müssen Sie es in einer der Systemkonfigurationsdateien definieren. Die höchste Ebene, auf der Sie dies tun können, ist die Einstellung /etc/environment. Dies definiert es global:

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

Überprüfen Sie, ob die Variable definiert ist:

$ echo $EDITOR
/usr/bin/nano

Anmerkung des Herausgebers: Oft ist es vorzuziehen, Umgebungsvariablen in eigene zu setzen ~/.profile, was viel einfacher zu beheben ist, wenn etwas schief geht.

Danatela
quelle
Ich habe die Zeile 'EDITOR = "/ usr / bin / nano" zu meiner / etc / environment-Datei hinzugefügt, aber es scheint nicht zu funktionieren. Muss ich neu starten?
Willoczy
Starten Sie nun Ihr System neu und die Einstellungen werden übernommen.
Danatela
Starten Sie eine neue Sitzung und Sie sind fertig!
Luis Siquot
3
Sie müssen nicht neu starten, damit die Änderungen wirksam werden. Führen source /etc/environmentSie sie erst aus, nachdem Sie die Datei bearbeitet haben.
Cremefraiche
@cremefraiche Ich fürchte, das ist falsch. Da es sich nicht um eine Skriptdatei handelt, können Sie sie nicht als Quelle verwenden. Es wäre korrekt für andere gängige Konfigurationsdateien wie .profile. Das Beste, was Sie tun können, ist sich abzumelden und wieder einzuloggen. Dies ist das einzige Mal, dass diese Datei gelesen wird. Lesen Sie diesen kurzen Abschnitt: help.ubuntu.com/community/…
Haggra
18

Zeile hinzufügen

export EDITOR=nano

zu Ihrem ~/.profileund ~/.bashrcwie im folgenden Bild. Setzen Sie keine Anführungszeichennano

Bildbeschreibung hier eingeben

und dann rennen

source ~/.profile 
source ~/.bashrc

an der Eingabeaufforderung nach dem Ändern .profileund .bashrcdamit die Änderung wirksam wird.

Bildbeschreibung hier eingeben

Nun ist die %editin ipythonöffnet nano.

~/.bashrc wird gerufen interactive + non-loginshell

wohingegen ~/.profilegefordert wirdinteractive + login shell

In Ihrem Fall ist es ausreichend, es ~/.bashrcstattdessen einfach hinzuzufügen ~/.profile.

Stormvirux
quelle
1
.bashrcnur für Bash-spezifische Einstellungen (zB Shell - Optionen, Aliase, etc.) , während verwendet werden soll , .profilesollte wie für die Einstellung von Umgebungsvariablen verwendet werden EDITOR(die von Programmen verwendet wird , wie zum Beispiel sudoedit, gitusw.). Siehe unix.stackexchange.com/a/3085/22812 und unix.stackexchange.com/a/42765/22812
Anthony G - Justice für Monica