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.

Jawaban:


170

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

export VISUAL=vi

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 :)


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

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

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.



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.


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.