about summary refs log tree commit diff
path: root/configs/shared/zsh/zle.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'configs/shared/zsh/zle.zsh')
-rw-r--r--configs/shared/zsh/zle.zsh31
1 files changed, 31 insertions, 0 deletions
diff --git a/configs/shared/zsh/zle.zsh b/configs/shared/zsh/zle.zsh
new file mode 100644
index 000000000000..4ded511ffccf
--- /dev/null
+++ b/configs/shared/zsh/zle.zsh
@@ -0,0 +1,31 @@
+#!/usr/bin/env zsh
+
+zle_insert_subshell() {
+  LBUFFER+='$(' ; RBUFFER=")$RBUFFER"
+}
+zle -N zle_insert_subshell
+bindkey '^j' zle_insert_subshell
+
+zle_insert_variable() {
+  LBUFFER+='${' ; RBUFFER="}$RBUFFER"
+}
+zle -N zle_insert_variable
+bindkey '^v' zle_insert_variable
+
+zle_insert_2x_dash() {
+  LBUFFER+=' --'
+}
+zle -N zle_insert_2x_dash
+bindkey '^[^f' zle_insert_2x_dash
+
+zle_insert_2x_quote() {
+  LBUFFER+=' "' ; RBUFFER="\"$RBUFFER"
+}
+zle -N zle_insert_2x_quote
+bindkey '^["' zle_insert_2x_quote
+
+zle_insert_quote() {
+  LBUFFER+=" '" ; RBUFFER="'$RBUFFER"
+}
+zle -N zle_insert_quote
+bindkey "^['" zle_insert_quote