Jak znaleźć i ustawić moją zmienną środowiskową $ EDITOR?


27

Kiedy używam ipython lub ipython3, mogę użyć polecenia% edit, aby otworzyć edytor, w którym można zapisać moje skrypty python. Moim problemem jest to, że domyślnym edytorem jest vim i naprawdę nie rozumiem, jak go używać. Chciałbym zmienić edytor na nano lub gedit. Myślę, że pozostając przy terminalu wolałbym zmienić go na edytor nano.

Kiedy wpisuję „edytuj?” polecenie w terminalu ipython mówi:

% edit uruchamia zaczep edytora IPython. Domyślna wersja tego haka jest ustawiona na wywołanie edytora określonego przez zmienną środowiskową $ EDITOR. Jeśli nie zostanie to znalezione, domyślnie będzie to vi w Linux / Unix i notatnik w Windows. Zobacz na końcu tego dokumentu, jak zmienić zaczep edytora.

Potem, kiedy widzę koniec tego dokumentu, widzę to:

Zmiana domyślnego zaczepu edytora:

Jeśli chcesz napisać własny hak edytora, możesz umieścić go w pliku konfiguracyjnym, który ładujesz podczas uruchamiania. Domyślny zaczep jest zdefiniowany w module IPython.core.hooks i można go użyć jako przykładu początkowego do dalszych modyfikacji. Plik ten zawiera również ogólne instrukcje, jak ustawić nowy hak do użycia po jego zdefiniowaniu.

Przepraszam, że jestem takim początkującym, ale gubię się tutaj. Nie jestem pewien, jak dostać się do modułu IPython.core.hooks, lub po prostu ustawić zmienną środowiskową $ EDITOR na nano.

Jakieś sugestie?

Odpowiedzi:


37

Możesz ustawić $EDITORzmienną za pomocą tego polecenia:

export EDITOR="/usr/bin/nano"

Spowoduje to zdefiniowanie zmiennej EDITORdla bieżącej sesji i przekazanie jej do środowiska wszystkich jej procesów potomnych. Aby ustawić go na stałe, musisz zdefiniować go w jednym z plików konfiguracji systemu. Najwyższym poziomem, na którym możesz to zrobić, jest ustawienie go /etc/environment. To definiuje to globalnie:

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

Sprawdź, czy zmienna jest zdefiniowana:

$ echo $EDITOR
/usr/bin/nano

Uwaga edytora: często lepiej jest wstawić własne zmienne środowiskowe ~/.profile, co jest o wiele łatwiejsze do naprawienia, jeśli coś pójdzie nie tak.


Dodałem wiersz „EDITOR =" / usr / bin / nano "'do mojego pliku środowiska / etc /, ale wydaje się, że nie działa. Czy muszę zrestartować komputer?
Willoczy,

Teraz uruchom ponownie system i ustawienia zostaną zastosowane.
Danatela,

rozpocznij nową sesję i gotowe!
Luis Siquot,

3
Nie trzeba restartować, aby zmiany odniosły skutek, wystarczy uruchomić source /etc/environmentpo edycji pliku.
cremefraiche

@cremefraiche Obawiam się, że jest niepoprawny. To nie jest plik skryptu, więc nie można go „źródlić”. Byłoby poprawne dla innych popularnych plików konfiguracyjnych, takich jak .profile. Najlepsze, co możesz zrobić, to wylogować się i zalogować ponownie. To jedyny raz, kiedy plik jest czytany. Przeczytaj tę krótką sekcję: help.ubuntu.com/community/…
Haggra

18

Dodaj linię

export EDITOR=nano

do twojego ~/.profilei ~/.bashrcjak na poniższym obrazku. Czy nie umieścić w cudzysłowienano

wprowadź opis zdjęcia tutaj

a następnie biegnij

source ~/.profile 
source ~/.bashrc

w monicie po modyfikacji .profilei .bashrcaby zmiana zaczęła obowiązywać.

wprowadź opis zdjęcia tutaj

Teraz %editw ipythonotworzą nano.

~/.bashrc zostanie wezwany interactive + non-loginshell

podczas gdy ~/.profilezostanie wezwanyinteractive + login shell

W twoim przypadku wystarczy po prostu dodać ~/.bashrczamiast ~/.profile.


1
.bashrcpowinny być wykorzystywane jedynie do ustawienia Bash specyficznych (np opcji powłoki, aliasów, etc.), podczas gdy .profilepowinny być wykorzystywane do ustawiania zmiennych środowiskowych, takich jak EDITOR(który jest używany przez programy takie jak sudoedit, gititp). Zobacz unix.stackexchange.com/a/3085/22812 i unix.stackexchange.com/a/42765/22812
Anthony G - wymiar sprawiedliwości dla Moniki
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.