Bagaimana cara menentukan editor untuk membuka file crontab? “Export EDITOR = vi” tidak berfungsi

103

Saya menggunakan Red Hat Enterprise Linux 5, dan saya ingin mengatur vim editor untuk mengedit file crontab.

Jika saya lari echo $EDITOR, saya mendapatkan vim. Tetapi ketika saya menjalankan crontab -e, saya mendapatkan editor yang berbeda.

antonjs
sumber

Jawaban:

170

Sangat mungkin VISUALvariabel lingkungan Anda disetel ke variabel lain. Mencoba:

export VISUAL=vi
bmk
sumber
6
variabel pengaturan export VISUAL=vim( setenv VISUAL "vim"untuk shell tcsh) itu bekerja dengan baik !!
antonjs
9
@ lwpro2: Jika VISUALtidak disetel, EDITORvariabel akan digunakan. Tapi VISUALlebih diutamakan EDITOR.
bmk
Jika crontab dikelola oleh beberapa orang dengan satu pengguna, saya sarankan untuk melakukan ini di subkulit, sehingga editor default tetap di tempatnya.
Thomas Böhm
Adakah ide mengapa file tersebut berbeda saat dibuka di vi daripada nano?
dardub
76

Mengutip pria itu:

Opsi -e digunakan untuk mengedit crontab saat ini menggunakan editor yang ditentukan oleh variabel lingkungan VISUAL atau EDITOR

Paling sering jika Anda menjalankan crontab -edari X, Anda telah VISUALmenetapkan; itulah yang digunakan. Coba ini:

VISUAL=vi crontab -e

Itu hanya berhasil untuk saya :)

9000
sumber
Terima kasih atas penjelasannya, Memang saya menjalankan terminal saya dari X.
antonjs
1
Pilihan terbaik jika Anda menjalankan crontab -e dengan sudo :)sudo VISUAL=vi crontab -e
MediaVince
42

Jika metode di atas tidak berfungsi (karena tidak berfungsi pada instalasi Ubuntu 13.04 saya) coba:

Ada beberapa cara alternatif:

1) Jalankan editor-pilih

select-editor

2) Edit file secara manual: ~/.selected_editortentukan editor pilihan Anda. Dengan opsi ini Anda dapat menentukan parameter editor.

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/emacs -nw"

3) Anda dapat menentukan dengan cepat pada baris perintah dengan:

env VISUAL="emacs -nw" crontab -e
LD James
sumber
1
Saya secara tidak sengaja menyetel editor default ke nanosaat membuka crontab pertama kali. Kemudian saya harus menggunakannya sudo select-editoragar berfungsi. Tip jika saja select-editortidak berhasil
244an
2
Anda tidak boleh menggunakan "sudo" untuk konfigurasi pribadi Anda. Ini mungkin merusak hal-hal yang memaksa Anda untuk tetap pada operasi yang lebih tinggi untuk penggunaan komputer normal. Sudo (perintah yang ditinggikan) adalah untuk bekerja dengan fitur-fitur di seluruh sistem di luar area pribadi Anda (~ area pengguna).
LD James
5

Saya pikir Anda mungkin perlu menggunakan jalur lengkap:

export EDITOR=/usr/bin/vim
Alex Howansky
sumber
3
Perangkap itulah yang VISUALdiperiksa terlebih dahulu. Jadi saran yang terdengar sempurna seperti milik Anda berfungsi dengan baik untuk sesi SSH dan secara misterius gagal di kotak desktop.
9000
Saya mencoba mengekspor sambil menetapkan seperti yang dijelaskan, tetapi tidak berhasil. Dengan menetapkan pertama dan kemudian mengekspornya berhasil untuk saya, seperti: EDITOR = / usr / bin / vi; ekspor EDITOR. Menggunakan SunOS di bawah SSH di sini.
Alan
5

Anda dapat menggunakan perintah di bawah ini untuk membukanya di editor VIM.

export VISUAL=vim; crontab -e

Catatan: Harap pastikan editor VIM diinstal di server Anda.

Parveen Shukhala
sumber
3

export EDITOR=vim bekerja untuk saya

Chema
sumber
2

Itu tidak berhasil untuk saya. Saya menjalankan crontab dengan sudo, jadi saya beralih ke root, melakukan saran di atas, dan crontab akan terbuka di vim, tetapi tetap tidak mau dari akun pengguna saya. Akhirnya saya lari sudo select-editordari akun pengguna dan itu berhasil.

felwithe
sumber
1
Jika Anda harus menjalankan sudo untuk mengkonfigurasi lingkungan pengguna Anda, itu menandakan masalah yang harus Anda atasi. Anda telah menjalankan sudo di ruang pribadi Anda dan kehilangan izin ke file yang seharusnya Anda miliki. Anda dapat memeriksa ruang Anda dengan menjalankan: find ~/ -mount ! -user $(whoami). Anda dapat memperbaiki masalah dengan menjalankan: sudo chown -R $(whoami):$(whoami) ~/.
LD James
@LDJames Anda benar, terima kasih. Ternyata itu hanya file .select_editor yang dimiliki oleh root.
felwithe
2

Ini berhasil untuk saya:

EDITOR="/usr/bin/vim"
export EDITOR

Tambahkan ini ke ~ / .bash_profile atau ~ / .bashrc untuk mengaktifkan ini untuk pengguna saat ini.

Berjalan
sumber