Anda sudah menemukan zle-keymap-selectyang 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 -bcargumen baris perintah atau cursorBlinksumber 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 ctlseqsfile; emulator terminal modern biasanya meniru xterm, meskipun mereka mungkin tidak mendukung semua fitur-fiturnya.
CTRL+Csaat dalam mode vi-command, prompt akan mengatur ulang, tetapi tunjukkan Anda dalam mode perintah ketika Anda benar-benar dalam mode insert.zle-line-initharus selalu mengubah indikator untuk memasukkan mode. Untuk beberapa alasan$KEYMAPtidak diperbarui dengan benar ketika zle-line-init dipanggil.