Jawaban:
Pertama cari tahu urutan apa yang dihasilkannya.
echo "
CtrlVFnDelete" | od -c
Kemudian ikat urutan itu menggunakan mekanisme ikat zsh normal.
echo "~"
, Anda harus benar-benar mengikuti petunjuk yang diberikan Ignacio kepada Anda. Di sistem saya, ini ^[[3~
(atau sebagai od
output:) 033 [ 3 ~
. Jadi perintah akan menjadi bindkey "^[[3~" delete-char
yang akan masuk di Anda ~/.zshrc
.
ctrl-v
adalah urutan pelarian khusus yang berarti "menyisipkan karakter berikutnya yang saya tekan sebagai karakter yang tidak dilepaskan secara harfiah, alih-alih melakukan apa pun yang biasanya dilakukannya." Artinya tidak dikonversi ~
, tetapi tetap sebagai urutan pelarian.
0000000 C t r l V F n D e l e t e \n 0000016
.
Bagi saya hal di atas tidak berhasil, jadi saya menambahkan kunci berikut yang mengikat saya ~/.zshrc
:
bindkey "\e[3~" delete-char
FYI: Saya menggunakan Mac (High Sierra).
~/.zshrc
.
cat
dan mengetikkan kunci. Fn+F1
memberi saya ^[OP
misalnya.
bindkey '
CtrlvFnDelete' delete-char
Ini akan mengikat Fn+ Deleteuntuk menghapus maju satu karakter. Jika hal di atas tidak jelas, Anda harus mengetikkan Ctrl+ v, Fn+ di Deleteantara mengetikkan tanda kutip. Ctrl+ vmemungkinkan Anda mengetik urutan escape secara literal dari kunci apa pun yang muncul setelahnya.
Anda dapat meletakkan baris ini di ~/.zshrc
file Anda .