zsh: Remove all

master
Pierre Neidhardt 2016-10-16 08:14:13 +05:30
parent 512d0656e5
commit f433e11586
15 changed files with 3 additions and 758 deletions

View File

@ -60,9 +60,8 @@ Xft.rgba: rgb
!! http://xcolors.net/dl/derp
!! https://bbs.archlinux.org/viewtopic.php?id=51818
!! Color order is as listed in .shell.d/colors_rc. Bright values are all
!! canonical colors except for blue and black which are not bright enough on a
!! black background.
!! Bright values are all canonical colors except for blue and black which are
!! not bright enough on a black background.
URxvt.background: black
URxvt.foreground: white
URxvt.color0 : black

View File

@ -28,7 +28,7 @@
## Enable color support of ls.
if [ "$TERM" != "dumb" ]; then
if [ "$OSTYPE" = "linux-gnu" ]; then
eval "$(dircolors "$HOME/.shell.d/dircolorsdb")"
eval "$(dircolors "$HOME/.dircolorsdb")"
else
export LSCOLORS="Ex"
# export LSCOLORS="ExfxcxDxCxdxdxCxCxECEh"

3
.gitignore vendored
View File

@ -19,9 +19,6 @@
.ssh
.texlive*
.wine
.zcompdump
.zdirs
.zshistfile
games*
go
music*

View File

@ -370,4 +370,3 @@ zathura-djvu
zathura-pdf-poppler
zathura-ps
zip
zsh

View File

@ -24,9 +24,6 @@ prependpath () {
################################################################################
## Common resources.
[ -d "$HOME/.shell.d" ] && export SHELL_DIR="$HOME/.shell.d"
## Mask
## Result for 027 is: rwxr-x---
umask 027

View File

@ -10,7 +10,6 @@ set -- "$HOME/.cache/awesome" \
"$HOME/.cache/emacs/saveplace" \
"$HOME/.cache/mutt" \
"$HOME/.cache/qutebrowser" \
"$HOME/.cache/zsh" \
"$HOME/.cmus/autosave" \
"$HOME/.cmus/cache" \
"$HOME/.cmus/command-history" \

View File

@ -1,82 +0,0 @@
## -*- mode:sh -*- #
################################################################################
## Shell Config -- Alias Definitions.
## Warning: if this does not work if you change shell without relogging, use
## 'source .<shell>rc' instead.
## Note that 'ps -o command= $$' gives the same result with parameters.
if [ "zsh" = "$(ps -o comm= $$)" ]; then
alias ssrc='source ~/.zshrc'
fi
##==============================================================================
## General
## 'ls' redefinition
alias ls='ls -F'
## GNU extras.
if [ "$OSTYPE" = "linux-gnu" ]; then
alias ls='ls --color=auto -v --group-directories-first'
else
alias ls='ls -G'
fi
## Listing aliases.
alias l='ls -1'
alias la='ls -lAh' # Hidden files
alias lc='ls -ltcrh' # Sort by change time
alias lk='ls -lSrh' # Sort by size
alias ll='ls -lh' # Detailed view with human readable values.
alias lx='ls -lXh' # Sort by extension
## Misc
alias grep='grep --color=auto'
## Prevents accidentally clobbering files.
alias mkdir='mkdir -p'
## Reset terminal -- Faster alternative of 'reset'.
alias cls='printf "\ec"'
##==============================================================================
## Pacman aliases
if command -v "pacman" >/dev/null 2>&1; then
# alias pc='sudo pacman -Sc'
alias pi='sudo pacman -S --needed'
alias pqi='pacman -Qi'
alias pqo='pacman -Qo'
alias pqs='pacman -Qs'
alias pr='sudo pacman -Rs'
alias psi='pacman -Si'
alias pss='pacman -Ss'
alias pu='yes | sudo pacman -Sc && sudo pacman -Syu'
fi
##==============================================================================
## FreeBSD aliases
if [ "$(uname)" = "FreeBSD" ]; then
alias pa='sudo pkg_add -r'
# alias pd='sudo pkg_delete'
alias pd='sudo pkg_deinstall -cd'
alias pi='pkg_info -RrcdsD -l "::"'
alias pil='pkg_info -L'
## Origin of file
alias piw='pkg_info -W'
## Search
alias pis='pkg_info -Qox'
# alias pvs='pkg_version -Is'
alias psr='pkg_search -r'
## Out-of-date packages.
alias pv='pkg_version -Il "<"'
## Port tree
alias mi='sudo make install'
alias mid='sudo make install distclean'
alias mc='sudo make config'
fi

View File

@ -1,51 +0,0 @@
## -*- mode:sh -*- #
## Colors for universal support
Color_Reset='\e[0m'
## Style
Color_Bold='\e[1m'
Color_Underline='\e[4m'
Color_Blink='\e[5m'
Color_Reverse='\e[7m'
Color_Concealed='\e[8m'
## Foreground Regular
FR_Black='\e[30m'
FR_Red='\e[31m'
FR_Green='\e[32m'
FR_Yellow='\e[33m'
FR_Blue='\e[34m'
FR_Magenta='\e[35m'
FR_Cyan='\e[36m'
FR_White='\e[37m'
## Background Regular
BR_Black='\e[40m'
BR_Red='\e[41m'
BR_Green='\e[42m'
BR_Yellow='\e[43m'
BR_Blue='\e[44m'
BR_Magenta='\e[45m'
BR_Cyan='\e[46m'
BR_White='\e[47m'
## Foreground Bright
FB_Black='\e[90m'
FB_Red='\e[91m'
FB_Green='\e[92m'
FB_Yellow='\e[93m'
FB_Blue='\e[94m'
FB_Magenta='\e[95m'
FB_Cyan='\e[96m'
FB_White='\e[97m'
## Background Bright
BB_Black='\e[100m'
BB_Red='\e[101m'
BB_Green='\e[102m'
BB_Yellow='\e[103m'
BB_Blue='\e[104m'
BB_Magenta='\e[195m'
BB_Cyan='\e[106m'
BB_White='\e[107m'

View File

@ -1,38 +0,0 @@
#compdef pcc
## Pacman custom completion
## Let's check if pacman completion is already loaded. If not, we parse the
## pacman completion file.
if type _pacman_action_none | grep -q "not found"; then
source "/usr/share/zsh/site-functions/_pacman"
fi
_pcc () {
case $words[1] in
pacsize)
case $words[2] in
-*)
return 1 ;;
*)
_pacman_action_sync
return ;;
esac
return ;;
*)
case $words[2] in
-*)
return 1 ;;
*)
_pacman_action_query
return ;;
esac
return ;;
esac
}
_pcc "$@"
## Local Variables:
## mode: sh
## End:

View File

@ -1,14 +0,0 @@
## -*- mode:sh -*- #
## Zsh
compdef _gcc crun
compdef _gs pdfcompress
compdef _gs pdfextract
compdef _gs pdfresize
compdef _pcc pacfiles
compdef _pcc pacsize
compdef _pcc pel
compdef _pcc pql
compdef _tex ltx
compdef _path_commands typex
compdef _pspdf zat

View File

@ -1,177 +0,0 @@
## Colors codes: see colors_rc
## Filesystem
FIFO 1;33 # pipe
MULTIHARDLINK 1;37 # regular file with more than one link
## Archives or compressed (bright red)
.7z 91
.Z 91
.ace 91
.arj 91
.bz 91
.bz2 91
.cpio 91
.deb 91
.dz 91
.ear 91
.gz 91
.jar 91
.lz 91
.lzh 91
.lzma 91
.rar 91
.rpm 91
.rz 91
.sar 91
.tar 91
.taz 91
.tbz 91
.tbz2 91
.tgz 91
.tlz 91
.txz 91
.tz 91
.war 91
.xz 91
.z 91
.z 91
.zip 91
.zoo 91
## Disc image
.img 4;91
.iso 4;91
# Image formats (underlined yellow)
.bmp 4;33
.gif 4;33
.jpeg 4;33
.jpg 4;33
.mng 4;33
.pbm 4;33
.pcx 4;33
.pgm 4;33
.png 4;33
.ppm 4;33
.svg 4;33
.svgz 4;33
.tga 4;33
.tif 4;33
.tiff 4;33
.xbm 4;33
.xpm 4;33
## Image formats uppercase (underlined yellow)
## We treat the special case of uppercase files since a lot of cameras save
## their file this way.
.BMP 4;33
.GIF 4;33
.JPEG 4;33
.JPG 4;33
.MNG 4;33
.PBM 4;33
.PCX 4;33
.PGM 4;33
.PNG 4;33
.PPM 4;33
.SVG 4;33
.SVGZ 4;33
.TGA 4;33
.TIF 4;33
.TIFF 4;33
.XBM 4;33
.XPM 4;33
## Documents (yellow)
.0 33
.1 33
.2 33
.3 33
.4 33
.5 33
.6 33
.7 33
.8 33
.9 33
.dvi 33
.pdf 33
.ps 33
## Videos (bright magenta)
.asf 95
.avi 95
.cgm 95
.dl 95
.emf 95
.flc 95
.fli 95
.flv 95
.gl 95
.m2v 95
.m4v 95
.mkv 95
.mov 95
.mp4 95
.mp4v 95
.mpeg 95
.mpg 95
.nuv 95
.ogm 95
.qt 95
.rm 95
.rmvb 95
.vob 95
.webm 95
.wmv 95
.xcf 95
.xwd 95
.yuv 95
## Audio formats (underlined bright magenta)
.aac 4;95
.ape 4;95
.au 4;95
.flac 4;95
.mid 4;95
.midi 4;95
.mka 4;95
.mp3 4;95
.mpc 4;95
.ogg 4;95
.ra 4;95
.wav 4;95
## Text files (underlined white)
.log 4;37
.srt 4;37
.sub 4;37
.tex 4;37
.txt 4;37
## Web (underlined white)
.css 4;37
.htm 4;37
.html 4;37
.js 4;37
## Makefile (underlined cyan)
.in 4;36
.mk 4;36
## Programming (cyan)
.bash 36
.c 36
.cc 36
.cpp 36
.csh 36
.el 36
.h 36
.hh 36
.hpp 36
.ksh 36
.lua 36
.pl 36
.py 36
.sh 36
.zsh 36

View File

@ -1,156 +0,0 @@
## -*- mode:sh -*- #
################################################################################
## Shell -- Functions.
## Functions that can be useful outside a shell (like in Emacs or Ranger) should
## be written in stand-alone scripts instead.
## Colored man pager.
man () {
# Justify man pager to current window size.
local width=$(tput cols)
[ $width -gt $MANWIDTH ] && width=$MANWIDTH
# mb = ?
# md = bold (titles, commands)
# so = status bar
# us = italic (arguments, files)
env \
MANWIDTH=$width \
LESS_TERMCAP_mb=$(printf "\e[1;31m") \
LESS_TERMCAP_md=$(printf "\e[0;36m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[1;4;37m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[0;33m") \
man "$@"
}
## Make directories and change into the first one.
mkcd () {
mkdir -p "$@"
cd "$1"
}
## Quick search. More flexible alternative: 'ff -di'.
search () {
find . -iname "*$1*"
}
## Vim-only: search the vim reference manual for a keyword.
## Usage: :h <keyword>
if command -v vim >/dev/null 2>&1; then
:h ()
{
vim --cmd ":silent help $@" --cmd "only";
}
fi
## Extended info
typex () {
local xpath cmd
if [ $# -lt 1 ]; then
echo >&2 "Provide an existing command as parameter."
return
fi
for i; do
cmd="$(command -v "$i" 2>/dev/null)"
if [ $? -ne 0 ]; then
echo "$i: does not exist"
elif [ -z "$(echo "$cmd" | grep ^/)" ]; then
type "$i"
else
xpath="$(type "$i" | cut -d' ' -f3)"
ls -l "$xpath"
file "$xpath" | cut -d':' -f2 | cut -b 2-
fi
done
}
# Automatically change the directory in shell after closing ranger.
# Compatible with ranger >= 1.4.2.
#
# To undo the effect of this function, you can type "cd -" to return to the
# original directory.
browse () {
local tempfile="$(mktemp)"
ranger --choosedir="$tempfile" "${@:-$(pwd)}"
if [ -f "$tempfile" ] && [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then
cd -- "$(cat "$tempfile")"
fi
rm -f -- "$tempfile"
}
## Webcam testing with an mplayer-like player.
webcam () {
mpv --tv driver=v4l2:width=640:height=480:device=/dev/video0 tv://
}
##==============================================================================
## Pacman functions
if command -v pacman >/dev/null 2>&1; then
if command -v fzf >/dev/null 2>&1; then
pel() {
local result count
count=$#
while IFS= read -r i; do
set "$@" "$i"
done <<EOF
$(pacman -Qlq "$@" | grep -v "/$" | fzf)
EOF
shift $count
[ -n "$1" ] && $EDITOR "$@"
}
fi
## Get detailed file list for the specified packages, omitting folders.
pql () {
pacman -Ql "$@" | grep -v "/$"
}
pli () {
expac -t '%F %T' '%-8l %n' | sort -rn | head -${1:-30}
}
pacfiles () {
pacman -Qlq "$@" | grep -v '/$' | xargs du -cbh | sort -h
}
fi
##==============================================================================
## FreeBSD functions
if [ "$(uname)" = FreeBSD ]; then
## TODO: Useless FreeBSD function?
# mqs () {
# local str="$(echo "$@" | sed -E 's/[ \t]+/\\|/g')"
# (cd /usr/ports && make quicksearch name="$str")
# }
port-list () {
pkg_info | cut -f1 -d' '
}
port-size () {
pkg_info -Qsb "$@" | sed 's/\([^:]*\):\(.*\)/\2 KiB \1/g'
}
mcd () {
local DEST=$(pkg_search -r "$@" | head -n1 | awk '{print $2}')
cd -- "$DEST"
}
fi
##==============================================================================
## Luarocks functions
if command -v luarocks >/dev/null 2>&1; then
lri () {
sudo sh -c 'umask 022 && luarocks install $0 $@' "$@"
}
fi

View File

@ -1,69 +0,0 @@
## Zsh Key bindings
## References:
## http://mundy.yazzy.org/unix/zsh.php
## http://www.zsh.org/mla/users/2000/msg00727.html
## Bindings functions:
# backward-char
# backward-delete-char
# backward-delete-to-slash
# backward-word
# beginning-of-history # PageUp
# beginning-of-line # Home
# delete-char # Del
# down-line-or-history
# down-line-or-search
# emacs-backward-word
# emacs-forward-word
# end-of-history # PageDown
# end-of-line # End
# forward-char
# forward-word
# quoted-insert # Ins
# up-line-or-history
# up-line-or-search
# expand-or-complete-prefix ## completion in the middle of a line
## Emacs bindings
bindkey -e
## Set '/' as a word delimiter.
autoload -U select-word-style
select-word-style bash
## Portable key codes: you can use
# ${terminfo[<capname>]}
## or
# echotc <TCap Code>
## See terminfo(5)
## Note that double brackets are needed to expand wildcards properly.
if [[ $TERM = *xterm* ]] ; then
bindkey "\e[3~" delete-char
bindkey "\e[1;5D" backward-word
bindkey "\e[1;5C" forward-word
bindkey "\eOH" beginning-of-line
bindkey "\eOF" end-of-line
bindkey "\e[Z" reverse-menu-complete # Shift+Tab
fi
if [[ $TERM = *rxvt* ]] ; then
bindkey "^w" kill-region
bindkey "\e[3~" delete-char
bindkey "\eOd" backward-word
bindkey "\eOc" forward-word
bindkey "\e[5~" beginning-of-history
bindkey "\e[6~" end-of-history
bindkey "\e[7~" beginning-of-line
bindkey "\e[8~" end-of-line
bindkey -s "\e^B" "^A^Kbrowse\n"
bindkey "\e[Z" reverse-menu-complete # Shift+Tab
fi
## For FreeBSD console.
# bindkey "\e[H" beginning-of-line
# bindkey "\e[F" end-of-line

View File

@ -1,135 +0,0 @@
## -*- mode:sh -*- #
## Zsh specific options
ZCACHE=~/.cache/zsh/
[ ! -e "$ZCACHE" ] && mkdir -p "$ZCACHE"
##==============================================================================
## History options
HISTFILE="$ZCACHE/history"
HISTSIZE=1000
SAVEHIST=1000
setopt hist_ignore_all_dups
setopt hist_ignore_space # Commands beginning with a space won't be recorded.
setopt appendhistory
##==============================================================================
## Misc
## Not recommended.
# setopt completealiases
setopt autocd # When only dirname is entered, then auto cd to it.
## ???
# setopt extendedglob nomatch notify
## Usually not needed if pc speaker is off.
unsetopt beep
## Turn of ^s so it does not freeze output.
unsetopt flowcontrol
##==============================================================================
## Directory stack
## We use expanded path for DIRSTACKFILE since we need to locate it for the
## zshcd script.
DIRSTACKFILE="$HOME/.cache/zsh/dirs"
if [[ -f $DIRSTACKFILE ]] && [[ $#dirstack -eq 0 ]]; then
dirstack=( ${(f)"$(< $DIRSTACKFILE)"} )
[[ -d $dirstack[1] ]] && cd $dirstack[1]
fi
chpwd() {
print -l $PWD ${(u)dirstack} >$DIRSTACKFILE
}
DIRSTACKSIZE=100
setopt autopushd pushdsilent pushdtohome
setopt pushdignoredups
## This reverts the +/- operators.
setopt pushdminus
##==============================================================================
## Completion
## Custom completion
fpath=(~/.shell.d/completion $fpath)
autoload -Uz compinit
# compinit
compinit -d "$ZCACHE/compdump"
zstyle ':completion:*' menu select
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:commands' rehash true # New binaries in path get recognized.
zstyle ':completion:*' completer _complete _match _approximate ## Allow approximate
zstyle ':completion:*:match:*' original only
zstyle ':completion:*:approximate:*' max-errors 1 numeric
## Tab completion for PID :D -- Useless ?
# zstyle ':completion:*:*:kill:*' menu yes select
# zstyle ':completion:*:kill:*' force-list always
## ???
# zstyle :compinstall filename "$HOME/.zshrc"
##==============================================================================
## TESTING
## Remove RPS1 after <enter>
setopt transient_rprompt
## Color vars
autoload -U colors terminfo
colors
## Zargs powaa
autoload -U zargs
##==============================================================================
## Prompt
autoload -U promptinit
promptinit
prompt adam2
##==============================================================================
## fzf (external)
if [ -f /usr/share/fzf/key-bindings.zsh ]; then
. /usr/share/fzf/key-bindings.zsh
. /usr/share/fzf/completion.zsh
bindkey '^T' transpose-chars
bindkey '\e^t' fzf-file-widget
bindkey '\ec' capitalize-word
bindkey '\eC' fzf-cd-widget
fzf-bcd() {
setopt localoptions pipefail 2> /dev/null
cd "${$(pwd | nawk -v RS=/ '/\n/ {exit} {p=p $0 "/"; print p}' | fzf --tac):-.}"
local ret=$?
zle reset-prompt
zle redisplay
typeset -f zle-line-init >/dev/null && zle zle-line-init
return $ret
}
zle -N fzf-bcd
bindkey "\e^L" fzf-bcd
fzf-cdhist() {
setopt localoptions pipefail 2> /dev/null
cd "${$(dirs -lp | fzf):-.}"
local ret=$?
zle reset-prompt
zle redisplay
typeset -f zle-line-init >/dev/null && zle zle-line-init
return $ret
}
zle -N fzf-cdhist
bindkey "\er" fzf-cdhist
fi

24
.zshrc
View File

@ -1,24 +0,0 @@
## Zsh master file
loadrc () {
for i; do
[ -f "${SHELL_DIR}/$i" ] && . "${SHELL_DIR}/$i"
done
}
## Options should be sourced first, before the SHELL_FILEBROWSER hook.
loadrc options_zsh
loadrc keys_zsh
loadrc alias_rc colors_rc completion_rc funs_rc
## Assign a binding
## sh -c 'export SHELL_FILEBROWSER=true; exec $TERMCMD'
## and this will autostart the file browser.
[ -n "$SHELL_FILEBROWSER" ] && unset SHELL_FILEBROWSER && browse
## Start at a specific location. Useful when switching to a shell from a browser
## for instance.
[ -n "$SHELL_CD" ] && cd "$SHELL_CD" && unsert SHELL_CD
## Shell hook: should be sourced last.
loadrc hook