Saat menggunakan vi, Anda dapat keluar dari mode insert dengan Ctrl+ Calih-alih yang lebih tradisional Esc. Apakah ada situasi di mana tidak diinginkan untuk digunakan untuk yang pertama, bukan yang terakhir? Apakah itu melanggar selain praktik terbaik?
15
Type :quit<Enter> to exit Vim
dan membuat saya Google cara untuk kembali. Menekani
membuat Anda segera kembali ke mode memasukkan.Jawaban:
Ctrl-Cdan Esctidak sama di
vi
/vim
dalam kebanyakan mode, termasuk mode insert. Perbedaannya adalah Escpemicu singkatan sementara Ctrl-ctidak. Apakah ini penting bagi Anda tergantung pada apakah Anda atau plugin yang Anda gunakan menggunakan singkatan.Perhatikan bahwa lebih aman untuk berasumsi Escdan Ctrl-Ctidak bukan berarti hal yang sama di
vim
. Contoh lain dari situs yang sama ini adalah ketika keluar dari mode penyisipan blok (tidak dalamvi
).sumber
Saya pikir maksud Anda
vim
, bukanvi
.Ini memang bekerja
vim
, meskipun saya tidak akan menggunakannya kecuali saya 100% yakin saya tidak akan pernah menyentuh sistem operasi non-Linux. Alasannya adalah bahwa OS lain mungkin memiliki implementasi sendirivi
, yang tidak mengimplementasikan ini, dan Anda mungkin menemukan bahwa ketika berjalanvi
pada platform tersebut, Ctrl-C memiliki perilaku tradisionalnya sendiri: mengganggu proses dan meninggalkan terminal Anda dalam keadaan aneh .sumber
vi
implementasi apa pun yang masih ada saat ini yang tidak ditanganiCtrl-C
? Lihat jawaban saya untuk perbedaan nyata.Jika Anda merujuk
vim
, ada sedikit perbedaan.CTRL-C
tidak memeriksa singkatan, dan itu tidak memicuInsertLeave
acara. Jadi Anda atau plugin telah menentukanautocmd
pernyataan apa pun yang bergantung padaInsertLeave
, mereka tidak akan dipicu.Dari dokumentasi resmi http://vimhelp.appspot.com/insert.txt.html :
Anda dapat menentukan pemetaan untuk
CTRL-C
untuk<esc>
, maka itu akan memicuInsertLeave
.sumber