From 696e5ad97b5cf4d5bef5f4bdd4e5c5d058136696 Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Wed, 18 Jun 2025 16:58:49 -0400 Subject: zsh --- .zshrc | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .zshrc (limited to '.zshrc') 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 -- cgit v1.2.3