Apakah mungkin untuk memetakan kembali Esckunci ke kunci lain di Vim? Ketika saya menggunakan Vim di layar penuh konsol klien web VMware vSphere dan saya menekan Esctombol untuk keluar dari mode edit, itu juga membawa saya keluar dari mode layar penuh di jendela konsol.
Saya menggunakan Vim yang berasal dari repo RHEL YUM. (RHEL 7.5; Vim 7.4).
vimrc
key-bindings
Beam Davis
sumber
sumber
Jawaban:
Biasanya,
C-[
ini juga merupakan cara untuk keluar dari mode insert. Beberapa orang suka memetakanjj
dalam mode sisipkan sebagai cara untuk keluar dan kembali ke mode normal. Saya pribadi lebih sukajh
jari saya 'meluncur' lebih baik dengan ini dan saya tidak terlalu meregang jari tengah saya.Dari suatu tempat di pengaturan neovim saya:
Ini memetakan kembali
jh
untuk melarikan diri dalam mode sisipkan.Apakah ini yang anda inginkan?
sumber
TL; DR
Sebenarnya bagus untuk memetakan ulang escke baris rumah. Begini cara Anda memutuskan untuk memetakannya: Ambil satu tangan dan gerakkan 4 jari Anda di atas desktop secepat mungkin ke arah mana pun yang tercepat. Gunakan itu untuk memilih kunci apa yang harus dipetakan.
Bagi saya lebih alami untuk menggulir dari jari kelingking ke jari telunjuk. Karena itu saya memilih untuk menggunakan
kj
. Juga, saya melakukangrep -rHin kj ~/src
(grep rekursif pada direktori induk dari semua kode sumber saya) dan tidak menemukan yang cocok.Catatan: Jika Anda harus mengetik literal
kj
(atau apa pun pemetaan Anda) ketikkan saja dengan 2 detik di antaranya. (Anda akan melihat kursor ragu untuk bergerak setelah char pertama. Tunggu sampai kursor bergerak sebelum mengetik ke-2.)Saya telah menggunakan
vim
selama 19 tahun. Saya terkejut ketika Apple memperbarui MacBook Pro mereka untuk memiliki panel sentuh dan tidak ada esctombol fisik . Saya melihat posting yang menyarankan pemetaanjj
danjk
ke<Esc>
dan membencinya. Tapi saya dengan sabar mencatat pada kartu indeks setiap kali itu mengganggu saya. Sekitar 15 menit kemudian saya meninjau catatan saya dan muncul dengan TL; DR di atas untuk mengatasi yang berikut:jj
akan menjatuhkan saya 2 baris.jk
adalah no-op (turun, atas) tetapikj
lebih alami untuk tangan saya.Ini harapan saya bahwa saya akhirnya dapat menghentikan kebiasaan saya mengenai escaplikasi lain dan menutup jendela ketika saya beberapa menit menulis. Saya lebih suka memasukkan karakter tersesat kj daripada kehilangan pekerjaan saya!
sumber
:ls kj
:h c_Esc
: Di makro [...] mulai masukkan perintah. (Makro biasanya juga termasuk pemetaan)