diff options
author | Starfall <us@starfall.systems> | 2020-07-18 15:26:47 -0500 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2020-07-18 15:35:24 -0500 |
commit | 63ad1cd90176f83b5706582fe9885cd4ef165cc7 (patch) | |
tree | 51367ed665d01d2a519473cf6a8815e1a7ea70a9 /.config/zsh/.zshrc | |
parent | 19c591315da3c2488f3b00a6b4003387c1c71490 (diff) |
zsh: basic config
Diffstat (limited to '.config/zsh/.zshrc')
-rw-r--r-- | .config/zsh/.zshrc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc new file mode 100644 index 0000000..b5b37ce --- /dev/null +++ b/.config/zsh/.zshrc @@ -0,0 +1,38 @@ +# magic cd +setopt autocd +export CDPATH=".:$HOME:$HOME/devil:$HOME/src" + +# vi mode +bindkey -v +# make backspace and delete behave like vim +bindkey -M viins '^?' backward-delete-char +bindkey -M viins '^H' backward-delete-char +bindkey -M viins '^[[3~' delete-char +# display block cursor in normal mode +function zle-keymap-select zle-line-init zle-line-finish { + case $KEYMAP in + vicmd) echo -ne "\e[2 q";; + viins|main) echo -ne "\e[6 q";; + esac + zle reset-prompt + zle -R +} +zle -N zle-keymap-select +zle -N zle-line-init +zle -N zle-line-finish + +# aliases +alias cls=clear +alias config='git --git-dir=$HOME/.dotfiles --work-tree=$HOME' +alias ls='ls --color=auto' +alias ll='ls -l --almost-all --no-group --human-readable' + +# collapse spaces into tabs in-place +# spacetotab <FILE> [WIDTH=4] +function spacetotab () { + unexpand --tabs=${2:-4} --first-only "$1" > "$1.tmp" + mv "$1.tmp" "$1" +} + +# display a fortune when opening an interactive terminal +tty -s && fortune $HOME/fortunes 2>/dev/null ||: |