]> git.sev.monster Git - dotfiles.git/blobdiff - etc/zsh/.zshrc
vim: update submodules
[dotfiles.git] / etc / zsh / .zshrc
index 55e9c6e3984584a7180d003ae6e7f776741bb1bb..bd670c27d4b3025c86f1ebea220e2f3faade94ed 100644 (file)
@@ -1,11 +1,27 @@
 ### options
-setopt NO_BEEP NO_CLOBBER \
-       AUTO_CD CDABLE_VARS \
-       EXTENDED_GLOB GLOB_DOTS GLOB_STAR_SHORT MARK_DIRS NUMERIC_GLOB_SORT \
-       CORRECT_ALL INTERACTIVE_COMMENTS \
-       GLOB_COMPLETE \
-       AUTO_CONTINUE LONG_LIST_JOBS \
-       NO_HIST_SAVE_BY_COPY HIST_IGNORE_DUPS SHARE_HISTORY HIST_REDUCE_BLANKS
+setopts=(
+  ## 16.2.1  Changing Directories
+  AUTO_CD CDABLE_VARS
+  ## 16.2.2  Completion
+  COMPLETE_IN_WORD GLOB_COMPLETE REC_EXACT
+  ## 16.2.3  Expansion and Globbing
+  EXTENDED_GLOB GLOB_DOTS GLOB_STAR_SHORT MAGIC_EQUAL_SUBST MARK_DIRS
+  NUMERIC_GLOB_SORT
+  ## 16.2.4  History
+  # NOTE: NO_HIST_SAVE_BY_COPY to allow saving histfile if updating another
+  #       user's histfile. this is for compatibility with zsu.
+  HIST_FCNTL_LOCK HIST_IGNORE_DUPS HIST_IGNORE_SPACE HIST_LEX_WORDS
+  HIST_NO_STORE HIST_REDUCE_BLANKS NO_HIST_SAVE_BY_COPY SHARE_HISTORY
+  ## 16.2.6  Input/Output
+  NO_CLOBBER CLOBBER_EMPTY CORRECT_ALL INTERACTIVE_COMMENTS
+  HASH_EXECUTABLES_ONLY
+  ## 16.2.7  Job Control
+  AUTO_CONTINUE LONG_LIST_JOBS
+  ## 16.2.12 Zle
+  NO_BEEP
+)
+setopt $setopts
+unset setopts
 
 ### exports
 ## common
@@ -16,8 +32,8 @@ export PAGER=${$(whence -p less micro nano more)[(f)1]:s/micro/& -readonly true
 export GREP_OPTIONS=--color=auto
 ## histfile
 export HISTFILE=~/.histfile
-export HISTSIZE=1000
-export SAVEHIST=1000
+export HISTSIZE=10000
+export SAVEHIST=$HISTSIZE
 ## python
 export PYTHONSTARTUP=${XDG_CONFIG_HOME:-~/.config}/pythonrc
 ## vim
@@ -202,6 +218,7 @@ alias se=sudoedit
 # be paranoid
 alias cp='cp -ip'
 alias mv='mv -i'
+# zsh zmv with noglob wildcards
 alias zm='noglob zmv -WiM'
 alias zc='noglob zmv -WiC'
 alias zl='noglob zmv -WiL'
@@ -216,10 +233,7 @@ if [[ "$OSTYPE" =~ '^freebsd' ]] {
     alias rm='rm -i'
 }
 [[ -v commands[trash-put] ]] && alias t=trash-put
-## py venv
-alias va='source bin/activate'
-alias vd=deactivate
-## ps
+# ps
 source ~/.local/bin/.check-busybox
 if [[ -v commands[pstree] ]] && ! check-busybox pstree; then
     # use pstree, but NOT busybox pstree because it kinda sucks
@@ -247,6 +261,9 @@ if [[ "$(basename "$PAGER")" = "less" ]] {
 alias pa=$ps
 alias spa="sudo $ps"
 unset ps
+## py venv
+alias va='source bin/activate'
+alias vd=deactivate
 ## git
 alias g=git
 alias gd='git diff'
@@ -271,16 +288,26 @@ if [[ -v commands[zoxide] ]] {
 }
 alias cd..=up
 ## dotfiles
-alias dfu='d=${$(echo -E - ~/.zshenv):P:h:h};GIT_DIR=$d/.git GIT_WORK_TREE=$d {
-  git pull &&
-  git submodules init &&
-  git submodules sync &&
-  git submodules update
+alias dfu=' function {
+    local d=${$(echo -E - ~/.zshenv):P:h:h}
+    local -x GIT_DIR=$d/.git GIT_WORK_TREE=$d
+    git pull &&
+    git submodule init &&
+    git submodule sync &&
+    git submodule update
 }'
+## nocorrect
+# zsh doesnt really handle sudo very well, so ignore it
+alias sudo='nocorrect sudo'
+## docker compose
+alias dcp='sudo docker compose pull'
+alias dcu='sudo docker compose up -d'
+alias dcr='sudo docker compose restart'
+alias dcl='sudo docker compose logs -f'
 
 ### hooks
 autoload -Uz add-zsh-hook
-_sev_exectime=
+typeset -gi _sev_exectime
 function sev_preexec {
     # change terminal title to show command
     print -n "\e]2;$(print -P '%#')${SSH_CLIENT+$USER@$HOST:}$1\e\\"
This page took 0.045539 seconds and 4 git commands to generate.