Saya baru saja menemukan keajaiban set -o vi
, dan saya ingin tahu apakah mungkin untuk menyesuaikan mode shell vi ini dalam beberapa cara yang sama Anda dapat menyesuaikan vi atau vim?
Misalnya, buat pengikatan kunci khusus untuk memetakan kombo atau kombo yang lebih nyaman esc
?
Jika saat ini tidak didukung, seberapa sulitkah untuk mengubah kode sumber program dan hardcode di beberapa penyesuaian, atau apakah itu ide yang buruk?
Jawaban:
Ya, Anda dapat mengubah pemetaan kunci (untuk mode vi atau emacs) dengan
bind
builtin. Ini sebenarnya adalah fitur readline (sehingga Anda dapat memiliki binding mirip vi di semua program readline, bukan hanya bash).Kunci yang Anda cari dipanggil
vi-movement-mode
, dan default-nya adalah\e
(escape). Anda juga dapat mengikatnya ke (dan ini agak konyol) sama dengan ini. Baris kedua menghilangkan ikatan untuk melarikan diri:Menjalankan
bind -p
akan menunjukkan kepada Anda semua kunci yang dapat Anda ikat, dan ikatannya saat ini (jika ada).Anda dapat menempatkan
bind
perintah di Anda.bashrc
, atau Anda dapat mengedit~/.inputrc
agar berlaku untuk semua program readline yang Anda jalankan. Dokumen readline berisi detail lengkap.sumber
bind "Control-Space":vi-movement-mode
- itu berfungsi dengan baik. Tapi misalnya dalam vim saya harus mengetik dua karakter berturut-turut sebagai pemicuesc
, yaitu, jika Anda mengetikjj
Anda akan kembali ke mode normal. Ini tidak berhasil ketika saya mencobanya dengan bind, apakah ada cara khusus untuk membuatnya bekerja?@
), atau dia tidak akan mendapat pemberitahuan.bind '"jk":vi-movement-mode'