]> git.sev.monster Git - dotfiles.git/blob - base/.zshrc
.zshrc changes
[dotfiles.git] / base / .zshrc
1 ## options
2 setopt autocd extendedglob
3 unsetopt beep
4
5 ## history
6 setopt appendhistory
7 HISTFILE=~/.histfile
8 HISTSIZE=100
9 SAVEHIST=100
10
11 ## keys
12 bindkey -v
13 KEYTIMEOUT=1
14 # xorg
15 bindkey    "^[[7~" beginning-of-line #Home
16 bindkey -a "^[[7~" beginning-of-line
17 bindkey    "^[[8~" end-of-line       #End
18 bindkey -a "^[[8~" end-of-line
19 bindkey    "^[[3~" delete-char       #Del
20 bindkey -a "^[[3~" delete-char
21 # bsd vt
22 bindkey    "^[[H" beginning-of-line  #Home
23 bindkey -a "^[[H" beginning-of-line
24 bindkey    "^[[F" end-of-line        #End
25 bindkey -a "^[[F" end-of-line
26
27 autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
28 zle -N up-line-or-beginning-search
29 zle -N down-line-or-beginning-search
30 [[ -n "$key[Up]"   ]] && bindkey -- "$key[Up]"   up-line-or-beginning-search
31 [[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
32
33 ## aliases
34 alias h="history -25"
35 alias j="jobs -l"
36 alias l="ls -AF"
37 alias ll="ls -lAFho"
38 # ps
39 local p="ps -aSdxwwouser=USR -ogroup=GRP -opid,nice=N \
40          -o%cpu,%mem,tt,stat,start=START -oetime,command | ${PAGER:-more} -Se"
41 alias pa="$p"
42 alias spa="sudo $p"
43 unset p
44 # sound source
45 function s { sysctl hw.snd.default_unit${1:+\=$1} }
46 # py venv
47 alias va="source bin/activate"
48 alias vd="deactivate"
49 # be paranoid
50 alias cp='cp -ip'
51 alias mv='mv -i'
52 alias rm='rm -I'
53 # ports
54 function portpkg {
55     case "$1" {
56         build|run)
57             sudo pkg install -AU $(make ${1}-depends-list |
58                                    sed 's_/usr/ports/_ _' | tr -d '\n')
59             ;;
60         *)  echo "Usage: \`portpkg <build|run>' in a port directory"
61             return 1;;
62     }
63 }
64
65 ## prompt
66 setopt prompt_subst
67 PROMPT='%F{$VICOL}%n%f@%F{$VICOL}%2m%f%(?../%F{red}$?%f)%# '
68 RPROMPT='%F{yellow}${vcs_info_msg_0_:-%~}%f %T'
69
70 function zle-line-init zle-keymap-select {
71     VICOL="${${KEYMAP:/vicmd/red}:/(main|viins)/green}"
72     zle reset-prompt
73 }
74 zle -N zle-line-init
75 zle -N zle-keymap-select
76
77 autoload -Uz vcs_info
78 zstyle ':vcs_info:*' enable git
79 zstyle ':vcs_info:git*' formats       "%c%u%%F{green}%r/%b%%f/%%F{yellow}%S%%f"
80 zstyle ':vcs_info:git*' actionformats "%%F{red}(%a)%%f %c%u%%F{green}%r/%b%%f/\
81 %%F{yellow}%S%%f"
82 #zstyle ':vcs_info:git*' check-for-changes true #too slow
83 zstyle ':vcs_info:git*:.dotfiles' check-for-changes true
84 zstyle ':vcs_info:git*' check-for-staged-changes true
85 zstyle ':vcs_info:git*' stagedstr   "%F{blue}+"
86 zstyle ':vcs_info:git*' unstagedstr "%F{red}*"
87
88 # hooks
89 function precmd {
90     # change terminal title
91     print -Pn "\e]0;%(1j,%j,)%#${SSH_CLIENT+$USER@$HOST:}%~\a"
92     # update vcs
93     vcs_info
94     # bell if exec takes 5s
95     if ((SECONDS - _exectime >= 5)) print "\a"
96 }
97 function preexec {
98     # change terminal title to show command
99     print -Pnf "\e]0;%s\a" "%#${SSH_CLIENT+$USER@$HOST:}$1"
100     # save last exec time for bell
101     _exectime=$SECONDS
102 }
103 function chpwd {
104     l
105 }
106
107 # The following lines were added by compinstall
108 zstyle ':completion:*' auto-description 'specify: %d'
109 zstyle ':completion:*' expand suffix
110 zstyle ':completion:*' format '# %d'
111 zstyle ':completion:*' group-name ''
112 zstyle ':completion:*' ignore-parents parent
113 zstyle ':completion:*' insert-unambiguous false
114 zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
115 zstyle ':completion:*' list-prompt '%B%i%b'
116 zstyle ':completion:*' list-suffixes true
117 zstyle ':completion:*' matcher-list '' 'm:{[:lower:]}={[:upper:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._-]=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*'
118 zstyle ':completion:*' menu select=1
119 zstyle ':completion:*' original false
120 zstyle ':completion:*' select-prompt '%B%l%b'
121 zstyle ':completion:*' verbose true
122 zstyle :compinstall filename '/home/ds6/.zshrc'
123
124 autoload -Uz compinit
125 compinit
126 # End of lines added by compinstall
127
128 # vim: ts=8:sts=4:sw=4:et:tw=79
This page took 0.04727 seconds and 4 git commands to generate.