Jawaban yang diterima mungkin merupakan perlakuan yang baik dan singkat, tetapi ini akan menjadi upaya untuk lebih dalam ketika perbedaan antara VISUAL dan EDITOR mungkin masih penting (membangun jawaban Adam Katz ).
Spesifikasi POSIX masih membedakan antara editor mode visual dan editor baris. Ini sangat penting di masa ketika posisi kursor melalui koneksi serial sulit (terutama karena kecepatan koneksi serial). The artikel Wikipedia untuk vi memberikan beberapa latar belakang yang berguna pada perbedaan antara vi (mode editor visual) dan mantan (editor line). Jika Anda menggali cukup dalam penelitian, Anda akan menemukan bagian "RATIONALE" dari spec "ex" , yang memberikan alasan untuk perbedaan yang masih ada dalam spec:
Diakui bahwa sebagian vi akan sulit, jika bukan tidak mungkin, untuk diterapkan secara memuaskan pada terminal mode blok, atau terminal tanpa bentuk pengalamatan kursor apa pun, sehingga bukan persyaratan wajib bahwa fitur tersebut harus bekerja pada semua terminal . Namun demikian, maksudnya adalah bahwa implementasi vi harus menyediakan set lengkap kemampuan pada semua terminal yang mampu mendukungnya.
Saya tidak memerlukan ini sejak melepaskan modem 300 baud saya, tetapi saya dapat membayangkan bahwa orang-orang yang menggunakan jalur serial lambat untuk terhubung ke sistem tertanam (dan / atau melalui koneksi yang benar-benar tidak pasti) mungkin masih menghargai dapat memiliki mode jalur yang disukai editor yang berbeda dari editor "visual" seperti vi. Kode terminal VT100-gaya atas koneksi lossy, laggy, sempit mungkin "mengasapi" dalam aplikasi terbatas.
Bagi kita semua, tampaknya jawaban yang "benar" tampaknya adalah "atur keduanya menjadi editor pilihan Anda". Mungkin tidak apa-apa untuk mengkooptasi perbedaan ini untuk editor lokal / grafis (misal Sublime atau gvim) vs editor jendela terminal (mis. Vi atau emacs), tetapi kemungkinan ada segunung warisan alasan mengapa hal itu mungkin tidak akan berfungsi seperti yang diharapkan .
$VISUAL
sebagai potongan shell yang mereka tambahkan nama file (dikutip-shell), tetapi beberapa memperlakukannya sebagai nama yang dapat dieksekusi yang mungkin atau mungkin tidak mereka cari$PATH
. Jadi yang terbaik adalah mengaturVISUAL
(danEDITOR
) ke path lengkap ke executable (yang bisa menjadi skrip wrapper jika Anda ingin misalnya opsi).