summaryrefslogtreecommitdiff
path: root/.zshrc
diff options
context:
space:
mode:
authorJack Jamison <jackqjamison@gmail.com>2025-06-18 16:58:49 -0400
committerJack Jamison <jackqjamison@gmail.com>2025-06-18 16:58:49 -0400
commit696e5ad97b5cf4d5bef5f4bdd4e5c5d058136696 (patch)
treed86e1475dcc425313a7dd6e43c95d353ff006187 /.zshrc
parentc6cd74b1dc688c7576dc9b9a142573e081f8a80b (diff)
zsh
Diffstat (limited to '.zshrc')
-rw-r--r--.zshrc40
1 files changed, 40 insertions, 0 deletions
diff --git a/.zshrc b/.zshrc
new file mode 100644
index 0000000..ad1427c
--- /dev/null
+++ b/.zshrc
@@ -0,0 +1,40 @@
+#!/bin/zsh
+
+# Completion
+autoload -U compinit
+compinit
+
+# History
+export HISTSIZE=2000
+export HISTFILE="$HOME/.history"
+export SAVEHIST=$HISTSIZE
+setopt hist_ignore_space
+
+# Misc
+setopt autocd
+setopt extendedglob
+
+# Prompt
+alias ls='ls --color=auto'
+alias grep='grep --color=auto'
+PROMPT="[%B%F{33}%n%f%b%F{15}@%f%F{81}%m%f] %F{47}%~ %F{15}$ "
+
+# Vi mode
+bindkey -v
+
+# Change cursor shape for different vi modes.
+function zle-keymap-select () {
+ case $KEYMAP in
+ vicmd) echo -ne '\e[1 q';; # block
+ viins|main) echo -ne '\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 -ne "\e[5 q"
+}
+zle -N zle-line-init
+echo -ne '\e[5 q' # Use beam shape cursor on startup.
+preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
+KEYTIMEOUT=1