aboutsummaryrefslogtreecommitdiff
path: root/.zshrc
diff options
context:
space:
mode:
Diffstat (limited to '.zshrc')
-rw-r--r--.zshrc654
1 files changed, 0 insertions, 654 deletions
diff --git a/.zshrc b/.zshrc
deleted file mode 100644
index 54d4e57..0000000
--- a/.zshrc
+++ /dev/null
@@ -1,654 +0,0 @@
-#
-# ~/.zshrc
-# Z shell configuration file.
-# CREDITS
-# File was first taken from the following location:
-#
-# http://www.tomaw.net/configs/zshrc
-#
-# Some additions were made by me, Jonathan Patrick Davies <jpds@ubuntu.com>.
-# Among these are the Launchpad, Debian, Wikipedia/Wikitravel, BBC search,
-# Demonoid, Lonely Planet, Urbandictionary and other various functions. I also
-# implemented a few "if" statements to stop zsh complaining about any missing
-# objects and placed the dircolors support.
-#
-# The forkex() function is thanks to Siegfried-Angel Gevatter Pujals
-# <rainct@ubuntu.com>.
-#
-# Some of this file is thanks to <slarti@gentoo.org>, some is take from
-# spider's <spider@gentoo.org> zshrc, and some from the zshwiki.org.
-# Some bash functions are nicked from ciaranm's <ciaranm@gentoo.org>
-# bashrc.
-#
-# READ ME
-#
-# • Remember to change the stuff specific to me! It's all at the top of
-# this file.
-#
-# • You can obviously only get the most out of this file if you take the
-# time to read through the comments. Of course, you can still experience
-# zsh's superiority by simply plugging this file in and using it.
-#
-
-# BEGIN LOCAL
-
-export LANG="LOCALE"
-export LC_TIME="en_GB.UTF-8"
-export LC_COLLATE=C # force strict lexicographic sorting
-export TIME_STYLE=long-iso # make ls -l use YYYY-MM-DD in dired
-export TZ="America/Toronto" # Force our time zone this location.
-export EDITOR="vim" # Long live vim (as our editor).
-export NAME="Ryan Kavanagh" # Our name.
-export EMAIL="rak@rak.ac" # Our email address.
-export GPGKEY="4E469519ED677734268FBD958F7BF8FC4A11C97A" # Our GnuPG key ID.
-export DEBFULLNAME=$NAME # These are used by Debian packaging...
-export DEBEMAIL="rak@debian.org" # ...programs.
-export DEBSIGN_KEYID=$GPGKEY # Key ID for signing Debian packages.
-export BZR_EMAIL="$NAME <$EMAIL>" # Override email for Bazaar.
-export GIT_AUTHOR_NAME=$NAME
-export DARCS_EMAIL="$NAME <$EMAIL>"
-export QUILT_PATCHES=debian/patches
-if [[ `hostname` = "demeter.rak.ac" ]]; then
- export PATH=${HOME}/bin:/opt/local/bin:/opt/local/sbin:/usr/sbin:/sbin:$PATH:${GEM_BIN}:${HOME}/.local/bin/
- export MANPATH=/opt/local/share/man:$MANPATH
-else
- export PATH=${HOME}/bin:/usr/sbin:/sbin:$PATH:${GEM_BIN}:${HOME}/.local/bin/
-fi
-export MANWIDTH=80
-export MANOPT="-L en"
-export PAGER=less
-export LESS=-FQXR
-export PDFVIEWER=evince
-export BROWSER=firefox
-export TEXMFHOME=${HOME}/.texmf
-export KRB5CCNAME=DIR:${HOME}/.cache/krb5cc # kerberos credentials cache
-
-alias apt-upgrade='sudo apt-get update && sudo apt-get dist-upgrade'
-alias dbuild='GPG_TTY=$(tty) debuild -S -sa -k$GPGKEY'
-alias itp='reportbug -M -B debian --email rak@debian.org --paranoid -K $GPGKEY wnpp'
-alias sneezymud='nc play.sneezymud.com 7900'
-alias news='tin -g pqnews.cogeco.ca'
-alias 1920s='mplayer -playlist http://kara.fast-serv.com:8398/listen.pls'
-alias dismuke='mplayer -playlist http://early1900s.org/radiodismuke/radiodismuke.ram'
-alias mplayer-fb='mplayer -vo fbdev'
-alias links2-fb='links2 -driver fb'
-alias svbuildi='svn-buildpackage --svn-ignore-new --svn-builder="debuild -S -sa -k$GPGKEY"'
-alias svbuild='svn-buildpackage --svn-builder="debuild -S -sa -k$GPGKEY"'
-alias gibuild='git-buildpackage --git-builder="sbuild -sAd u"'
-alias gibuildi='git-buildpackage --git-ignore-new --git-builder="sbuild -sAd u"'
-alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg"
-alias vi='vim'
-alias sm='tmux attach -t mail || tmux -f ${HOME}/.tmux-mail.conf attach -t mail'
-alias sshfw='ssh -oForwardAgent=yes'
-alias slpr="lpr -P scs_public -o Staple=1Staple\(Left\) -o KMDuplex=True"
-
-# END LOCAL
-
-fpath=($fpath
- /home/ryan/.zen/zsh/scripts
- /home/ryan/.zen/zsh/zle)
-autoload -U zen
-
-# Ensure that we possess a ~/.zsh/ directory. This is required for the
-# ~/.zsh/history file.
-if [ ! -d $HOME/.zsh/ ]; then
- mkdir -p $HOME/.zsh/
-fi
-
-# Alias/custom commands
-#
-# Many of these options don's exist on BSD rm/cp/mkdir/ln/etc.
-#
-# Some are just in case - for 'rm', 'cp' and 'mv' - ask about overwriting or
-# deleting files.
-# Furthermore, be verbose about what each command is performing to be present of
-# what is occuring every time.
-if [[ `uname` = "Linux" ]]; then
- alias cp="cp -iv"
- alias mkdir="mkdir -v"
- alias mv="mv -iv"
- alias ln="ln -v"
- # Only delete files on the current file system to avoid removing recursively
- # from bind mounts.
- alias rm="rm -iv --one-file-system"
-
- alias grep="grep --colour=auto"
-
- alias chown="chown -v"
- alias chmod="chmod -v"
- alias ls="ls --classify --color=always" # Add all colours and
- # have fancy symbols for files, etc.
-elif [[ `uname` = "OpenBSD" && -x /usr/local/bin/colorls ]]; then
- alias ls="colorls -G"
-fi
-
-fpath=($fpath $HOME/.zsh/func)
-
-# Prompt theme.
-autoload -U promptinit; promptinit
-# prompt walters
-
-# Colours.
-autoload -U colors; colors
-setopt promptsubst
-
-# Give us a prompt along the lines of:
-#
-# jpds@topr>
-#
-#export PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[green]%}%m%{$reset_color%}%\> "
-
-# Change word boundary characters. Nabbed from
-# http://zshwiki.org/KeyBindings.
-
-# By default: export WORDCHARS='*?_-.[]~=/&;!#$%^(){}<>'
-# We remove the slash, period, angle brackets, dash here.
-export WORDCHARS='*?_-[]~=&;!#$%^(){}'
-
-# Follow GNU LS_COLORS for completion menus
-zmodload -i zsh/complist
-
-# Should dircolors exist. Fetch LS_COLORS from it.
-if [ "`which dircolors`" != 'dircolors not found' ]; then
- eval "$(dircolors -b)"
-fi
-
-zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
-zstyle ':completion:*:*:kill:*' list-colors '=%*=01;31'
-
-# Load the completion system
-autoload -U compinit; compinit
-
-compdef _quilt dquilt=quilt # Quilt tab completion for dquilt
-
-# pattern history search
-bindkey '^R' history-incremental-pattern-search-backward
-
-# Very powerful version of mv implemented in zsh. The main feature I
-# know of it that seperates it from the standard mv is that it saves you
-# time by being able to use patterns which are expanded into positional
-# parameters. So:
-#
-# slarti@pohl % zmv (*)foo ${1}bar
-#
-# On a series of files like onefoo, twofoo, threefoo, fivefoo would be
-# renamed to onebar twobar threebar fourbar.
-#
-# Although that's nifty enough, I suspect there are other features I
-# don't know about yet...
-#
-# Read $fpath/zmv for some more basic examples of usage, and also use
-# run-help on it :)
-autoload -U zmv
-
-# Like xargs, but instead of reading lines of arguments from standard input,
-# it takes them from the command line. This is possible/useful because,
-# especially with recursive glob operators, zsh often can construct a command
-# line for a shell function that is longer than can be accepted by an external
-# command. This is what's often referred to as the "shitty Linux exec limit" ;)
-# The limitation is on the number of characters or arguments.
-#
-# slarti@pohl % echo {1..30000}
-# zsh: argument list too long: /bin/echo
-# zsh: exit 127 /bin/echo {1..30000}
-autoload -U zargs
-
-# Makes it easy to type URLs as command line arguments. As you type, the
-# input character is analyzed and, if it mayn eed quoting, the current
-# word is checked for a URI scheme. If one is found and the current word
-# is not already quoted, a blackslash is inserted before the input
-# caracter.
-autoload -U url-quote-magic
-zle -N self-insert url-quote-magic
-
-# zed is a tiny command-line editor in pure ZSH; no other shell could do
-# this. zed itself is simple as anything, but it's killer feature for
-# me is that it can edit functions on the go with zed -f <funcname> (or
-# fned <funcname>. This is useful for me when I'm using and defining
-# functions interactively, for example, when I'm working through the
-# Portage tree in CVS. It allows me to edit a function on the fly,
-# without having to call the last definition back up from the history
-# and re-edit that in ZLE. It also indents the function, even if it was
-# defined on all one line in the line editor, making it easy as anything
-# to edit.
-#
-# ^X^W to save, ^C to abort.
-autoload -U zed
-
-# Incremental completion of a word. After starting this, a list of
-# completion choices can be shown after every character you type, which
-# can deleted with ^H or delete. Return will accept the current
-# completion. Hit tab for normal completion, ^G to get back where you
-# came from and ^D to list matches.
-autoload -U incremental-complete-word
-zle -N incremental-complete-word
-bindkey "^Xi" incremental-complete-word
-
-# This function allows you type a file pattern, and see the results of
-# the expansion at each step. When you hit return, they will be
-# inserted into the command line.
-autoload -U insert-files
-zle -N insert-files
-bindkey "^Xf" insert-files
-
-# This set of functions implements a sort of magic history searching.
-# After predict-on, typing characters causes the editor to look backward
-# in the history for the first line beginning with what you have typed so
-# far. After predict-off, editing returns to normal for the line found.
-# In fact, you often don't even need to use predict-off, because if the
-# line doesn't match something in the history, adding a key performs
-# standard completion - though editing in the middle is liable to delete
-# the rest of the line.
-autoload -U predict-on
-zle -N predict-on
-zle -N predict-off
-bindkey "^X^Z" predict-on
-bindkey "^Z" predict-off
-
-# run-help is a help finder, bound in ZLE to M-h. It doesn't need to be
-# autoloaded to work - the non-autoloaded version just looks up a man
-# page for the command under the cursor, then when that process is
-# finished it pulls your old command line back up from the buffer stack.
-# However, with the autoloaded function and:
-#
-# mkdir ~/zsh-help; cd ~/zsh-help MANPAGER="less" man zshbuiltins | \
-# colcrt | perl /usr/share/zsh/4.2.1/Util/helpfiles
-#
-# It'll work for zsh builtins too. By the way, I've assumed some things
-# in that command. ~/zsh-help can be wherever you like, MANPAGER needs
-# to be any standard pager (less, pg, more, just not the MANPAGER I have
-# defined in this file), colcrt can be col -bx, and the path to
-# helpfiles may be different for you (Util may not even be installed
-# with your distribution; fair enough, make install doesn't install it.
-# Dig up a source tarball and everything is in there).
-
-# Load the new one
-autoload -U run-help
-
-# Press Alt-H to show help for command we are currently on.
-bindkey '[[A' run-help
-
-# https://zsh.sourceforge.io/Doc/Release/Options.html#History
-# History file name and maximum size.
-HISTFILE="$HOME/.zsh/history"
-SAVEHIST=500000
-HISTSIZE=600000 # should be > SAVEHIST
-
-# Save each command’s beginning timestamp (in seconds since the epoch) and the
-# duration (in seconds) to the history file.
-setopt EXTENDED_HISTORY
-
-# If the internal history needs to be trimmed to add the current command line,
-# setting this option will cause the oldest history event that has a duplicate
-# to be lost before losing a unique event from the list.
-setopt HIST_EXPIRE_DUPS_FIRST
-
-# Better locking to avoid corruption
-setopt HIST_FCNTL_LOCK
-
-# When searching for history entries in the line editor, do not display
-# duplicates of a line previously found, even if the duplicates are not
-# contiguous.
-setopt HIST_FIND_NO_DUPS
-
-# Don't story commands in history if they start with a space
-setopt HIST_IGNORE_SPACE
-
-# Don't store history/fc -l in the history list when invoked
-setopt HIST_NO_STORE
-
-# Remove superfluous blanks from each command line being added to the history
-# list.
-setopt HIST_REDUCE_BLANKS
-
-# This option works like APPEND_HISTORY except that new history lines are added
-# to the $HISTFILE incrementally (as soon as they are entered), rather than
-# waiting until the shell exits. The file will still be periodically re-written
-# to trim it when the number of lines grows 20% beyond the value specified by
-# $SAVEHIST (see also the HIST_SAVE_BY_COPY option).
-setopt INC_APPEND_HISTORY
-
-# Push History from previous sessions. IF $HISTFILE exists.
-if [ -f $HISTFILE ]; then
- fc -RI $HISTFILE
-fi
-
-## Key bindings
-# You may use:
-# % autoload -U zkbd
-# % zkbd
-# to discover your keys.
-
-
-typeset -U fpath
-
-prompt wunjo
-# Actually, stick with emacs for the moment. The vi keymap just doesn't
-# seem to be as complete (even if it's nicer for editing, there's no
-# execute-named-cmd bound, for example).
-bindkey -e # Emacs keybindings.
-
-# This function sets the window tile to user@host:/workingdir before each
-# prompt. If you're using screen, it sets the window title (works
-# wonderfully for 'hardstatus' lines.
-precmd() {
-# [[ -t 1 ]] || return
- case $TERM in
- *xterm*|rxvt*) print -Pn "\e]2;%n@%m:%~\a"
- ;;
- screen*) print -Pn "\ek%n@%m:%~\e\\"
- ;;
- esac
-}
-
-# This sets the window title to the last run command.
-preexec() {
-# [[ -t 1 ]] || return
- case $TERM in
- *xterm*|rxvt*) print -Pn "\e]2;$1\a"
- ;;
- screen*) print -Pn "\ek$1\e\\"
- ;;
- esac
-}
-
-# Custom commands.
-
-loop() {
- while [ 1 -eq 1 ]; do
- $@
- done
-}
-
-# CTAN downloader
-
-ctand() {
- wget http://mirror.ctan.org/macros/latex/contrib/$1.zip && unzip $1.zip
-}
-
-# For formating text files for a printer
-fmtpr() {
- fmt --width=62 $@ | LC_ALL=C LANG=C pr -o 10 -W 62 -J -F -l 62
-}
-
-# Russian
-#
-
-verb.rus() {
- curl -s "http://en.wiktionary.org/w/index.php?title=$1&action=edit" | grep 'ru-conj-'
- firefox "http://en.wiktionary.org/w/index.php?title=$1"
-}
-
-#
-# Debian.
-#
-debian.bugs.number() {
- # Debian Bug Tracker - by number.
- w3m "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=$1"
-}
-
-debian.bugs.package() {
- # Debian Bug Tracker - by package.
- w3m "http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=$1"
-}
-
-debian.packages() {
- # Debian Packages.
- # Add 'src:' in front of the package name to search for source packages.
- w3m "http://packages.debian.org/$1"
-}
-
-debian.qa.maintainer() {
- # Debian QA Maintainer search by email address.
- w3m "http://qa.debian.org/developer.php?login=$1"
-}
-
-debian.qa.package() {
- # Debian QA Maintainer search by package name.
- w3m "http://qa.debian.org/developer.php?package=$1"
-}
-
-debian.qa.pts() {
- # Debian Package Tracking system - developers.
- w3m "http://packages.qa.debian.org/$1"
-}
-
-debian.qa.task() {
- # Debian QA - search for task.
- w3m "http://qa.debian.org/developer.php?task=$1"
-}
-
-debian.wiki() {
- # Search the Debian Wiki.
- w3m "http://wiki.debian.org/?action=fullsearch&value=$@"
-}
-
-#
-# Others.
-#
-
-wttr() {
- local request="wttr.in/${1-Montreal}"
- [ "$(tput cols)" -lt 125 ] && request+='?n'
- curl -H "Accept-Language: ${LANG%_*}" --compressed "$request"
-}
-
-google() {
- # Google search.
- w3m "http://www.google.com/search?q=$@"
-}
-
-wikipedia() {
- # Wikipedia search. English section.
- w3m "http://en.wikipedia.org/wiki/Special:Search?search=$@"
-}
-
-wiktionary() {
- # Search Wiktionary for a term.
- w3m "http://en.wiktionary.org/wiki/Special:Search?search=$@"
-}
-
-forkex() {
- # Fork program $@ from console.
- nohup "$@" >/dev/null 2>&1 <&1 & disown %%
-}
-
-gbp-snap() {
- if [[ -e $@ ]]; then
- git-dch -aSN $1
- else
- git-dch -aS
- fi
- gpg-mounter
- gibuild --git-ignore-new
- DSC=`head -n1 debian/changelog | sed -e 's/\(.*\) (\(.*\)).*/\1_\2.dsc/g'`
- DIST=`head -n1 debian/changelog | sed -e 's/.* \(.*\);.*/\1/g'`
- cd ..
- sbuild -d $DIST $DSC
-}
-
-# Pretty menu!
-zstyle ':completion:*' menu select=1
-zstyle ':completion:*' select-prompt %SScroll active at %p%s.
-
-# Completion options.
-zstyle ':completion:*' completer _complete _prefix
-zstyle ':completion::prefix-1:*' completer _complete
-zstyle ':completion:incremental:*' completer _complete _correct
-zstyle ':completion:predict:*' completer _complete
-
-# Completion caching.
-zstyle ':completion::complete:*' use-cache 1
-zstyle ':completion::complete:*' cache-path ~/.zsh/cache/$HOST
-
-# Expand partial paths.
-zstyle ':completion:*' expand 'yes'
-zstyle ':completion:*' squeeze-slashes 'yes'
-
-# Include non-hidden directories in globbed file completions
-# for certain commands.
-zstyle ':completion::complete:*' '\'
-
-# Use menuselection for PID completion.
-zstyle ':completion:*:*:kill:*' menu yes select
-zstyle ':completion:*:kill:*' force-list always
-
-# tag-order 'globbed-files directories' all-files.
-zstyle ':completion::complete:*:tar:directories' file-patterns '*~.*(-/)'
-
-# Do not complete backup files as executables.
-zstyle ':completion:*:complete:-command-::commands' ignored-patterns '*\~'
-
-# Separate matches into groups.
-zstyle ':completion:*:matches' group 'yes'
-
-# With commands like rm, it's annoying if you keep getting offered the same
-# file multiple times. This fixes it. Also good for cp, et cetera..
-zstyle ':completion:*:rm:*' ignore-line yes
-zstyle ':completion:*:cp:*' ignore-line yes
-
-# Describe each match group.
-zstyle ':completion:*:descriptions' format "%B---- %d%b"
-
-# Messages/warnings format.
-zstyle ':completion:*:messages' format '%B%U---- %d%u%b'
-zstyle ':completion:*:warnings' format '%B%U---- no match for: %d%u%b'
-
-# Describe options in full.
-zstyle ':completion:*:options' description 'yes'
-zstyle ':completion:*:options' auto-description '%d'
-
-# Simulate spider's old abbrev-expand 3.0.5 patch
-#zstyle ':completion:*:history-words' stop verbose
-#zstyle ':completion:*:history-words' remove-all-dups yes
-#zstyle ':completion:*:history-words' list false
-
-# From the zshwiki. Hide CVS files/directories from being completed.
-zstyle ':completion:*:(all-|)files' ignored-patterns '(|*/)CVS'
-zstyle ':completion:*:cd:*' ignored-patterns '(*/)#CVS'
-
-# Also from the wiki. Hide uninteresting users from completion.
-zstyle ':completion:*:*:*:users' ignored-patterns \
-adm apache bin daemon games gdm halt ident junkbust lp mail mailnull \
-named news nfsnobody nobody nscd ntp operator pcap postgres radvd \
-rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs backup bind \
-dictd gnats identd irc man messagebus postfix proxy sys \
-www-data alias amavis at clamav cmd5checkpw cron cyrus dhcp dnscache \
-dnslog foldingathome guest haldaemon jabber ldap mailman mpd mysql \
-nut p2p portage postmaster qmaild qmaill qmailp qmailq qmailr qmails \
-smmsp tinydns vpopmail wasabi zope
-
-# Approximate completion. From the wiki.
-zstyle ':completion:*' completer _complete _match _approximate
-zstyle ':completion:*:match:*' original only
-zstyle ':completion:*:approximate:*' max-errors 1 numeric
-
-zstyle ':completion:*:sudo:*' command-path /usr/sbin /usr/bin /sbin /bin \
- /usr/X11R6/bin
-
-# Options
-setopt \
-NO_all_export \
- always_last_prompt \
- always_to_end \
- append_history \
- auto_cd \
- auto_list \
- auto_menu \
- auto_name_dirs \
- auto_param_keys \
- auto_param_slash \
- auto_pushd \
- auto_remove_slash \
-NO_auto_resume \
- bad_pattern \
- bang_hist \
-NO_beep \
- brace_ccl \
- correct_all \
-NO_bsd_echo \
-NO_cdable_vars \
-NO_chase_links \
- clobber \
- complete_aliases \
- complete_in_word \
- correct \
-NO_correct_all \
- csh_junkie_history \
-NO_csh_junkie_loops \
-NO_csh_junkie_quotes \
-NO_csh_null_glob \
- equals \
- extended_glob \
- extended_history \
- function_argzero \
- glob \
-NO_glob_assign \
- glob_complete \
-NO_glob_dots \
-NO_glob_subst \
-NO_hash_cmds \
-NO_hash_dirs \
- hash_list_all \
- hist_allow_clobber \
- hist_beep \
- hist_ignore_dups \
- hist_ignore_space \
-NO_hist_no_store \
- hist_verify \
-NO_hup \
-NO_ignore_braces \
-NO_ignore_eof \
- interactive_comments \
- inc_append_history \
-NO_list_ambiguous \
-NO_list_beep \
- list_types \
- long_list_jobs \
- magic_equal_subst \
-NO_mail_warning \
-NO_mark_dirs \
- menu_complete \
- multios \
- nomatch \
- notify \
-NO_null_glob \
- numeric_glob_sort \
-NO_overstrike \
- path_dirs \
- posix_builtins \
-NO_print_exit_value \
-NO_prompt_cr \
- prompt_subst \
- pushd_ignore_dups \
-NO_pushd_minus \
- pushd_silent \
- pushd_to_home \
- rc_expand_param \
-NO_rc_quotes \
-NO_rm_star_silent \
-NO_sh_file_expansion \
- sh_option_letters \
- share_history \
- short_loops \
-NO_sh_word_split \
-NO_single_line_zle \
-NO_sun_keyboard_hack \
-NO_verbose \
- zle
-
-# GPG / SSH AGENT
-
-if [ "xKEYCHAIN" != "x" ]; then
- keychain KEYCHAIN
- #keychain -Q ${GPGKEY} ${GPGKEY1}
- [ -z "$HOSTNAME" ] && HOSTNAME=`uname -n`
- [ -f $HOME/.keychain/$HOSTNAME-sh ] &&
- . $HOME/.keychain/$HOSTNAME-sh
- [ -f $HOME/.keychain/$HOSTNAME-sh-gpg ] &&
- . $HOME/.keychain/$HOSTNAME-sh-gpg
-fi
-
-# ocaml
-
-. ${HOME}/.opam/opam-init/init.zsh > /dev/null 2> /dev/null || true