summaryrefslogtreecommitdiff
path: root/.zshrc
blob: 2b0e56bd1604c90e82d8a693e31b69212142a20b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/zsh

# Completion
autoload -U compinit
compinit

# History
export HISTSIZE=2000
export HISTFILE="$HOME/.history"
export SAVEHIST=$HISTSIZE
setopt hist_ignore_space

# Misc options
setopt autocd
setopt extendedglob
unsetopt BEEP

# Aliases
alias ls='ls --color=auto'
alias grep='grep --color=auto'

# Prompt
set_prompt() {
	# PROMPT="%B%F{174}%n%f%b%F{15}@%f%F{81}%m %F{47}%~ %F{105}$(git-ps1)%F{15}$ "
	PROMPT="%B%F{153}%n %F{47}%~ %F{105}$(git-ps1)%F{15}$ "
}
precmd_functions+=(set_prompt)

# Vi mode
bindkey -v
bindkey "^R" history-incremental-search-backward # isearch

# 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 # remove lag

. "$HOME/.local/bin/env"