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