changed everything to spaces over tabs.
This commit is contained in:
parent
ffefa0fffd
commit
4c63486b4b
24 changed files with 1190 additions and 1190 deletions
272
zsh/.zshrc
272
zsh/.zshrc
|
@ -13,20 +13,20 @@
|
|||
|
||||
|
||||
#set important shell variables
|
||||
#set default editor and pager.
|
||||
export EDITOR=nvim
|
||||
export VISUAL=nvim
|
||||
export PAGER=less
|
||||
#default options for less
|
||||
export LESS="-R"
|
||||
export LESSHISTFILE="/dev/null"
|
||||
#set the w3m homepage
|
||||
export WWW_HOME="duckduckgo.com/lite/"
|
||||
#set ssh-agent to play nice with systemd.
|
||||
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
|
||||
export TIMEFMT="%J %*U user %*S system %P cpu %*E total"
|
||||
export PIPENV_VENV_IN_PROJECT=true
|
||||
export POETRY_VIRTUALENVS_IN_PROJECT=true
|
||||
#set default editor and pager.
|
||||
export EDITOR=nvim
|
||||
export VISUAL=nvim
|
||||
export PAGER=less
|
||||
#default options for less
|
||||
export LESS="-R"
|
||||
export LESSHISTFILE="/dev/null"
|
||||
#set the w3m homepage
|
||||
export WWW_HOME="duckduckgo.com/lite/"
|
||||
#set ssh-agent to play nice with systemd.
|
||||
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
|
||||
export TIMEFMT="%J %*U user %*S system %P cpu %*E total"
|
||||
export PIPENV_VENV_IN_PROJECT=true
|
||||
export POETRY_VIRTUALENVS_IN_PROJECT=true
|
||||
#test that these nonstandard paths exist before adding to PATH.
|
||||
testPath="$HOME/.local/bin"
|
||||
[ -d "$testPath" ] && export PATH="$PATH:$testPath"
|
||||
|
@ -37,159 +37,159 @@
|
|||
|
||||
#prompt
|
||||
setprompt() {
|
||||
autoload -U promptinit
|
||||
promptinit
|
||||
autoload -U colors
|
||||
colors
|
||||
autoload -U promptinit
|
||||
promptinit
|
||||
autoload -U colors
|
||||
colors
|
||||
|
||||
#stuff to show git things.
|
||||
autoload -Uz vcs_info
|
||||
#stuff to show git things.
|
||||
autoload -Uz vcs_info
|
||||
|
||||
setopt prompt_subst
|
||||
setopt prompt_subst
|
||||
|
||||
precmd_vcs() {vcs_info}
|
||||
precmd_vcs() {vcs_info}
|
||||
|
||||
#when not in a repo, show full path to current directory. when in one, show path from base direcory of the repo.
|
||||
zstyle ':vcs_info:*' nvcsformats '%~'
|
||||
zstyle ':vcs_info:*' formats '%r/%S %F{green}[%b]%f'
|
||||
zstyle ':vcs_info:*' actionformats '%r/%S %F{green}[%b] %F{red}<%a>%f'
|
||||
#when not in a repo, show full path to current directory. when in one, show path from base direcory of the repo.
|
||||
zstyle ':vcs_info:*' nvcsformats '%~'
|
||||
zstyle ':vcs_info:*' formats '%r/%S %F{green}[%b]%f'
|
||||
zstyle ':vcs_info:*' actionformats '%r/%S %F{green}[%b] %F{red}<%a>%f'
|
||||
|
||||
#the precmd function, called just before printing the prompt.
|
||||
function precmd() {
|
||||
precmd_vcs
|
||||
}
|
||||
#the precmd function, called just before printing the prompt.
|
||||
function precmd() {
|
||||
precmd_vcs
|
||||
}
|
||||
|
||||
#Make the right prompt blank, just to be sure.
|
||||
#Make the right prompt blank, just to be sure.
|
||||
RPROMPT=''
|
||||
|
||||
#on the top line, show a whole bunch of info. botton line should be as minimal as possilbe (just a single char to input next to...)
|
||||
PROMPT=$'%F{cyan}[%n@%m]%f%F{red}├────┤%f${vcs_info_msg_0_} %F{white}[%D %T]%f\n»'
|
||||
#on the top line, show a whole bunch of info. botton line should be as minimal as possilbe (just a single char to input next to...)
|
||||
PROMPT=$'%F{cyan}[%n@%m]%f%F{red}├────┤%f${vcs_info_msg_0_} %F{white}[%D %T]%f\n»'
|
||||
}
|
||||
#starship if its installed, otherwise the prompt we just defined.
|
||||
command -v starship &> /dev/null && eval "$(starship init zsh)" || setprompt
|
||||
command -v starship &> /dev/null && eval "$(starship init zsh)" || setprompt
|
||||
|
||||
#show dots while waiting for tab-completion
|
||||
expand-or-complete-with-dots() {
|
||||
# toggle line-wrapping off and back on again
|
||||
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti rmam
|
||||
print -Pn "%{%F{red}......%f%}"
|
||||
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam
|
||||
expand-or-complete-with-dots() {
|
||||
# toggle line-wrapping off and back on again
|
||||
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti rmam
|
||||
print -Pn "%{%F{red}......%f%}"
|
||||
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam
|
||||
|
||||
zle expand-or-complete
|
||||
zle redisplay
|
||||
}
|
||||
zle -N expand-or-complete-with-dots
|
||||
bindkey "^I" expand-or-complete-with-dots
|
||||
zle expand-or-complete
|
||||
zle redisplay
|
||||
}
|
||||
zle -N expand-or-complete-with-dots
|
||||
bindkey "^I" expand-or-complete-with-dots
|
||||
|
||||
# editing stuff
|
||||
# Enable the ZLE line editor, which is default behavior, but to be sure
|
||||
setopt ZLE
|
||||
#Enable vi mode for the ZLE. it should be set by default due to our EDITOR and VISUAL, but this is just to be safe.
|
||||
bindkey -v
|
||||
#allow backspacing beyond the point you entered insert mode:
|
||||
bindkey -v '^?' backward-delete-char
|
||||
bindkey "^W" backward-kill-word
|
||||
# Enable the ZLE line editor, which is default behavior, but to be sure
|
||||
setopt ZLE
|
||||
#Enable vi mode for the ZLE. it should be set by default due to our EDITOR and VISUAL, but this is just to be safe.
|
||||
bindkey -v
|
||||
#allow backspacing beyond the point you entered insert mode:
|
||||
bindkey -v '^?' backward-delete-char
|
||||
bindkey "^W" backward-kill-word
|
||||
|
||||
#misc
|
||||
# Sends cd commands without the need for 'cd'
|
||||
setopt AUTO_CD
|
||||
# Kill all child processes when we exit, dont leave them running
|
||||
unsetopt NO_HUP
|
||||
#Allows comments in interactive shell.
|
||||
setopt INTERACTIVE_COMMENTS
|
||||
# Ctrl+S and Ctrl+Q usually disable/enable tty input. This disables those inputs
|
||||
unsetopt FLOW_CONTROL
|
||||
mkdir -p ~/.cache/zsh
|
||||
local zshCache=~/.cache/zsh
|
||||
# Sends cd commands without the need for 'cd'
|
||||
setopt AUTO_CD
|
||||
# Kill all child processes when we exit, dont leave them running
|
||||
unsetopt NO_HUP
|
||||
#Allows comments in interactive shell.
|
||||
setopt INTERACTIVE_COMMENTS
|
||||
# Ctrl+S and Ctrl+Q usually disable/enable tty input. This disables those inputs
|
||||
unsetopt FLOW_CONTROL
|
||||
mkdir -p ~/.cache/zsh
|
||||
local zshCache=~/.cache/zsh
|
||||
|
||||
#ZSH history
|
||||
#make a history file outside our home directory
|
||||
HISTFILE=$zshCache/history
|
||||
#save a lot of history
|
||||
SAVEHIST=1000
|
||||
HISTSIZE=1000
|
||||
#save more information in history
|
||||
setopt EXTENDED_HISTORY
|
||||
#share history among zsh sessions
|
||||
setopt APPEND_HISTORY
|
||||
setopt SHARE_HISTORY
|
||||
#skip dupes when going through history
|
||||
setopt HIST_FIND_NO_DUPS
|
||||
#delete dupes first when histsize becomes full
|
||||
setopt HIST_EXPIRE_DUPS_FIRST
|
||||
#dont write dupes of the last command to histfile
|
||||
setopt HIST_IGNORE_DUPS
|
||||
#write history file as we type
|
||||
setopt INC_APPEND_HISTORY
|
||||
#remove extra whitespace from history
|
||||
setopt HIST_REDUCE_BLANKS
|
||||
#make a history file outside our home directory
|
||||
HISTFILE=$zshCache/history
|
||||
#save a lot of history
|
||||
SAVEHIST=1000
|
||||
HISTSIZE=1000
|
||||
#save more information in history
|
||||
setopt EXTENDED_HISTORY
|
||||
#share history among zsh sessions
|
||||
setopt APPEND_HISTORY
|
||||
setopt SHARE_HISTORY
|
||||
#skip dupes when going through history
|
||||
setopt HIST_FIND_NO_DUPS
|
||||
#delete dupes first when histsize becomes full
|
||||
setopt HIST_EXPIRE_DUPS_FIRST
|
||||
#dont write dupes of the last command to histfile
|
||||
setopt HIST_IGNORE_DUPS
|
||||
#write history file as we type
|
||||
setopt INC_APPEND_HISTORY
|
||||
#remove extra whitespace from history
|
||||
setopt HIST_REDUCE_BLANKS
|
||||
|
||||
#autocomplete
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
#have the menu highlight while we cycle through options
|
||||
zstyle ':completion:*' menu select
|
||||
#case insensitive completion
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||
#allow completion from midword
|
||||
setopt COMPLETE_IN_WORD
|
||||
#move cursor to end of word after completing
|
||||
setopt ALWAYS_TO_END
|
||||
#complete aliases as well
|
||||
setopt COMPLETE_ALIASES
|
||||
#select first item when you press tab the first time.
|
||||
setopt MENU_COMPLETE
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
#have the menu highlight while we cycle through options
|
||||
zstyle ':completion:*' menu select
|
||||
#case insensitive completion
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||
#allow completion from midword
|
||||
setopt COMPLETE_IN_WORD
|
||||
#move cursor to end of word after completing
|
||||
setopt ALWAYS_TO_END
|
||||
#complete aliases as well
|
||||
setopt COMPLETE_ALIASES
|
||||
#select first item when you press tab the first time.
|
||||
setopt MENU_COMPLETE
|
||||
|
||||
#globbing
|
||||
#case insensitive globbing
|
||||
setopt NO_CASE_GLOB
|
||||
#sort globs that expand to numbers by number rather than alphabeticly
|
||||
setopt NUMERIC_GLOB_SORT
|
||||
#allows for some neat globbing.
|
||||
setopt EXTENDED_GLOB
|
||||
#case insensitive globbing
|
||||
setopt NO_CASE_GLOB
|
||||
#sort globs that expand to numbers by number rather than alphabeticly
|
||||
setopt NUMERIC_GLOB_SORT
|
||||
#allows for some neat globbing.
|
||||
setopt EXTENDED_GLOB
|
||||
|
||||
#aliases
|
||||
alias vim="nvim"
|
||||
alias vimdiff="nvim -d"
|
||||
alias mutt="neomutt"
|
||||
alias please='sudo $(fc -ln -1)'
|
||||
alias la='ls -la'
|
||||
alias ll='ls -l'
|
||||
alias say='espeak -p 10 -s 150 -a 200 2> /dev/null'
|
||||
alias tmux='tmux -u'
|
||||
alias pdfmk='latexmk -lualatex -pvc'
|
||||
# needs to have a number immediately after it.
|
||||
alias slideshow='feh --full-screen --randomize --auto-zoom --recursive --slideshow-delay'
|
||||
# converts all .doc and .docx files in the local directory to pdfs using libreoffice
|
||||
alias doc2pdf='loffice --convert-to pdf --headless *.docx#'
|
||||
#common options for sshfs
|
||||
alias sshmnt='sshfs -o idmap=user,compression=no,reconnect,follow_symlinks,dir_cache=yes,ServerAliveInterval=15'
|
||||
alias pyactivate='source ./.venv/bin/activate'
|
||||
alias vim="nvim"
|
||||
alias vimdiff="nvim -d"
|
||||
alias mutt="neomutt"
|
||||
alias please='sudo $(fc -ln -1)'
|
||||
alias la='ls -la'
|
||||
alias ll='ls -l'
|
||||
alias say='espeak -p 10 -s 150 -a 200 2> /dev/null'
|
||||
alias tmux='tmux -u'
|
||||
alias pdfmk='latexmk -lualatex -pvc'
|
||||
# needs to have a number immediately after it.
|
||||
alias slideshow='feh --full-screen --randomize --auto-zoom --recursive --slideshow-delay'
|
||||
# converts all .doc and .docx files in the local directory to pdfs using libreoffice
|
||||
alias doc2pdf='loffice --convert-to pdf --headless *.docx#'
|
||||
#common options for sshfs
|
||||
alias sshmnt='sshfs -o idmap=user,compression=no,reconnect,follow_symlinks,dir_cache=yes,ServerAliveInterval=15'
|
||||
alias pyactivate='source ./.venv/bin/activate'
|
||||
|
||||
#setup grep to be a bit more nice
|
||||
local GREP_OPTIONS=""
|
||||
# color grep results
|
||||
GREP_OPTIONS+=" --color=auto"
|
||||
# ignore VCS folders (if the necessary grep flags are available)
|
||||
local VCS_FOLDERS="{.bzr,CVS,.git,.hg,.svn}"
|
||||
GREP_OPTIONS+=" --exclude-dir=$VCS_FOLDERS"
|
||||
GREP_OPTIONS+=" --exclude=$VCS_FOLDERS"
|
||||
# export grep settings
|
||||
alias grep="grep $GREP_OPTIONS"
|
||||
local GREP_OPTIONS=""
|
||||
# color grep results
|
||||
GREP_OPTIONS+=" --color=auto"
|
||||
# ignore VCS folders (if the necessary grep flags are available)
|
||||
local VCS_FOLDERS="{.bzr,CVS,.git,.hg,.svn}"
|
||||
GREP_OPTIONS+=" --exclude-dir=$VCS_FOLDERS"
|
||||
GREP_OPTIONS+=" --exclude=$VCS_FOLDERS"
|
||||
# export grep settings
|
||||
alias grep="grep $GREP_OPTIONS"
|
||||
|
||||
#fzf stuff
|
||||
#zsh key bindings (different distros put these in different places.)
|
||||
testPath=$(find /usr/share -path '*fzf/*key-bindings.zsh' -print -quit 2> /dev/null)
|
||||
[ -f "$testPath" ] && source $testPath
|
||||
#zsh completions, if it exists.
|
||||
testPath=$(find /usr/share -path '*fzf/*completion.zsh' -print -quit 2> /dev/null)
|
||||
[ -f "$testPath" ] && source $testPath
|
||||
#if it was installed using git, can just source the one file:
|
||||
testPath="$HOME/.fzf.zsh"
|
||||
[ -f "$testPath" ] && source $testPath
|
||||
#zsh key bindings (different distros put these in different places.)
|
||||
testPath=$(find /usr/share -path '*fzf/*key-bindings.zsh' -print -quit 2> /dev/null)
|
||||
[ -f "$testPath" ] && source $testPath
|
||||
#zsh completions, if it exists.
|
||||
testPath=$(find /usr/share -path '*fzf/*completion.zsh' -print -quit 2> /dev/null)
|
||||
[ -f "$testPath" ] && source $testPath
|
||||
#if it was installed using git, can just source the one file:
|
||||
testPath="$HOME/.fzf.zsh"
|
||||
[ -f "$testPath" ] && source $testPath
|
||||
|
||||
#zoxide stuff
|
||||
command -v zoxide &> /dev/null && eval "$(zoxide init zsh)"
|
||||
command -v zoxide &> /dev/null && eval "$(zoxide init zsh)"
|
||||
|
||||
#check for existence of pyenv before setting it up.
|
||||
if command -v pyenv &> /dev/null; then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue