Anda sudah menemukan zle-keymap-select
yang dieksekusi setiap kali mode berubah. Anda dapat menggunakannya untuk mengatur beberapa indikator visual selain permintaan, tergantung pada apa yang didukung terminal Anda (dan selera Anda dalam tampilan indikator mode, tentu saja).
Ada kemampuan terminfo standar untuk mengubah bentuk kursor. Namun beberapa terminal menampilkan kursor yang sama di kedua mode. Gagasan Xterm tentang kursor yang kurang terlihat adalah membuatnya berkedip (dan ini harus diaktifkan dengan -bc
argumen baris perintah atau cursorBlink
sumber daya).
zle-keymap-select () {
case $KEYMAP in
vicmd) print -rn -- $terminfo[cvvis];; # block cursor
viins|main) print -rn -- $terminfo[cnorm];; # less visible cursor
esac
}
Dengan beberapa terminal, Anda juga dapat mengubah warna kursor dengan print -n '\e]12;pink\a'
(berdasarkan nama warna) atau print -n '\e]12;#abcdef\a'
(dengan spesifikasi RGB). Urutan ini dijelaskan dalam dokumentasi xterm, dalam ctlseqs
file; emulator terminal modern biasanya meniru xterm, meskipun mereka mungkin tidak mendukung semua fitur-fiturnya.
CTRL+C
saat dalam mode vi-command, prompt akan mengatur ulang, tetapi tunjukkan Anda dalam mode perintah ketika Anda benar-benar dalam mode insert.zle-line-init
harus selalu mengubah indikator untuk memasukkan mode. Untuk beberapa alasan$KEYMAP
tidak diperbarui dengan benar ketika zle-line-init dipanggil.