Bagaimana cara menemukan dan menetapkan variabel lingkungan $ EDITOR saya?

27

Ketika saya menggunakan ipython atau ipython3, saya dapat menggunakan perintah% edit untuk membuka editor untuk menulis skrip python saya. Masalah saya adalah bahwa editor default adalah vim dan saya benar-benar tidak mendapatkan cara menggunakan editor itu. Yang ingin saya lakukan adalah mengubah editor menjadi nano atau gedit. Saya pikir untuk tetap dengan terminal saya lebih suka mengubahnya ke editor nano.

Kapan saya mengetik 'edit?' perintah ke terminal ipython dikatakan:

% edit menjalankan kait editor IPython. Versi default dari hook ini disetel untuk memanggil editor yang ditentukan oleh variabel lingkungan $ EDITOR Anda. Jika ini tidak ditemukan, ini akan secara default vi di Linux / Unix dan notepad di Windows. Lihat akhir dokumentasi ini untuk cara mengganti kait editor.

Lalu ketika saya melihat akhir dari dokumen itu saya melihat ini:

Mengubah kait editor default:

Jika Anda ingin menulis kait editor Anda sendiri, Anda bisa memasukkannya ke dalam file konfigurasi yang Anda muat pada saat startup. Kait default didefinisikan dalam modul IPython.core.hooks, dan Anda dapat menggunakannya sebagai contoh awal untuk modifikasi lebih lanjut. File itu juga memiliki petunjuk umum tentang cara mengatur hook baru untuk digunakan setelah Anda mendefinisikannya.

Maaf menjadi pemula, tetapi saya tersesat di sini. Saya tidak yakin bagaimana menuju ke modul IPython.core.hooks, atau hanya cukup mengatur variabel lingkungan $ EDITOR ke nano.

Ada saran?

Willoczy
sumber

Jawaban:

37

Anda dapat mengatur $EDITORvariabel dengan perintah ini:

export EDITOR="/usr/bin/nano"

Ini akan menentukan variabel EDITORuntuk sesi saat ini dan meneruskannya ke lingkungan semua proses anaknya. Untuk mengaturnya secara permanen, Anda harus mendefinisikannya di salah satu file konfigurasi sistem. Level tertinggi di mana Anda dapat melakukan ini adalah untuk mengaturnya /etc/environment. Ini mendefinisikannya secara global:

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

Periksa variabel yang didefinisikan:

$ echo $EDITOR
/usr/bin/nano

Catatan editor: sering kali lebih baik untuk menempatkan variabel lingkungan di Anda sendiri ~/.profile, yang jauh lebih mudah untuk diperbaiki jika terjadi kesalahan.

Danatela
sumber
Saya menambahkan baris 'EDITOR = "/ usr / bin / nano"' ke file / etc / environment saya, tetapi sepertinya tidak berfungsi. Apakah saya perlu reboot?
Willoczy
Sekarang reboot sistem Anda dan pengaturan akan berlaku.
Danatela
memulai sesi baru dan Anda selesai!
Luis Siquot
3
Anda tidak perlu mem-boot ulang agar perubahan diterapkan, jalankan saja source /etc/environmentsetelah Anda mengedit file.
cremefraiche
@remefraiche Saya khawatir itu tidak benar. Ini bukan file skrip sehingga Anda tidak dapat "sumber" itu. Itu akan benar untuk file konfigurasi umum lainnya seperti. Profil. Yang terbaik yang dapat Anda lakukan adalah keluar dan masuk kembali. Itulah satu-satunya waktu file itu dibaca. Baca bagian singkat ini: help.ubuntu.com/community/…
Haggra
18

Tambahkan baris

export EDITOR=nano

untuk Anda ~/.profiledan ~/.bashrcseperti pada gambar berikut. Jangan tidak menaruh tanda kutipnano

masukkan deskripsi gambar di sini

dan kemudian jalankan

source ~/.profile 
source ~/.bashrc

pada prompt setelah memodifikasi .profiledan .bashrcagar modifikasi berlaku.

masukkan deskripsi gambar di sini

Sekarang %editin ipythonakan terbuka nano.

~/.bashrc akan dipanggil untuk interactive + non-loginshell

sedangkan ~/.profileakan dipanggil untukinteractive + login shell

Dalam kasus Anda itu sudah cukup untuk hanya menambahkannya di ~/.bashrcbukannya ~/.profile.

Stormvirux
sumber
1
.bashrcharus digunakan hanya untuk pengaturan Bash-tertentu (misalnya, pilihan shell, alias, dll) sementara .profileharus digunakan untuk pengaturan variabel lingkungan seperti EDITOR(yang digunakan oleh program-program seperti sudoedit, git, dll). Lihat unix.stackexchange.com/a/3085/22812 dan unix.stackexchange.com/a/42765/22812
Anthony G - justice for Monica