summaryrefslogtreecommitdiff
path: root/zsh/zscripts/vicursor.zsh
diff options
context:
space:
mode:
authorTimmy Keller <tjk@tjkeller.xyz>2022-03-16 23:32:06 -0500
committerTimmy Keller <tjk@tjkeller.xyz>2022-03-16 23:32:06 -0500
commit6f0ca4a0b6366b9c33e9366e08aa1b14e1037e8a (patch)
tree8511a9d4fb84d43a85f88492789b84a590dd0feb /zsh/zscripts/vicursor.zsh
parent8699ed1e1ccd7cf1ee5af616f3a922204efa913c (diff)
downloaddotconfig-6f0ca4a0b6366b9c33e9366e08aa1b14e1037e8a.tar.xz
dotconfig-6f0ca4a0b6366b9c33e9366e08aa1b14e1037e8a.zip
zscripts and profiles
Diffstat (limited to 'zsh/zscripts/vicursor.zsh')
-rwxr-xr-xzsh/zscripts/vicursor.zsh21
1 files changed, 21 insertions, 0 deletions
diff --git a/zsh/zscripts/vicursor.zsh b/zsh/zscripts/vicursor.zsh
new file mode 100755
index 0000000..3e4320d
--- /dev/null
+++ b/zsh/zscripts/vicursor.zsh
@@ -0,0 +1,21 @@
+#!/usr/bin/env zsh
+
+# Change cursor shape for different vi modes
+# Copied from LARBS
+if [ -n "$DISPLAY" ]; then
+ function zle-keymap-select () {
+ case $KEYMAP in
+ vicmd) echo -n '\e[1 q';; # block
+ viins|main) echo -n '\e[5 q';; # beam
+ esac
+ }
+ zle -N zle-keymap-select
+ zle-line-init() {
+ #zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
+ echo -n "\e[5 q"
+ }
+ zle -N zle-line-init
+ echo -n '\e[5 q' # Use beam shape cursor on startup
+ preexec() { echo -n '\e[5 q' ;} # Use beam shape cursor for each new prompt
+fi
+