mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-25 23:30:08 +00:00
Merge branch 'master' of git://github.com/robbyrussell/oh-my-zsh
This commit is contained in:
commit
9092bf7b53
11 changed files with 342 additions and 1 deletions
|
@ -4,6 +4,7 @@ unsetopt menu_complete # do not autoselect the first completion entry
|
||||||
unsetopt flowcontrol
|
unsetopt flowcontrol
|
||||||
setopt auto_menu # show completion menu on succesive tab press
|
setopt auto_menu # show completion menu on succesive tab press
|
||||||
setopt complete_in_word
|
setopt complete_in_word
|
||||||
|
setopt complete_aliases
|
||||||
setopt always_to_end
|
setopt always_to_end
|
||||||
|
|
||||||
WORDCHARS=''
|
WORDCHARS=''
|
||||||
|
|
67
plugins/cpanm/_cpanm
Normal file
67
plugins/cpanm/_cpanm
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
#compdef cpanm
|
||||||
|
|
||||||
|
##
|
||||||
|
# cpanminus Z Shell completion script
|
||||||
|
##
|
||||||
|
#
|
||||||
|
# Current supported cpanm version: 1.4000 (Tue Mar 8 01:00:49 PST 2011)
|
||||||
|
#
|
||||||
|
# The latest code is always located at:
|
||||||
|
# https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm
|
||||||
|
#
|
||||||
|
|
||||||
|
local arguments curcontext="$curcontext"
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
|
||||||
|
arguments=(
|
||||||
|
|
||||||
|
# Commands
|
||||||
|
# '(--install -i)'{--install,-i}'[Installs the modules]'
|
||||||
|
'(- :)--self-upgrade[Upgrades itself]'
|
||||||
|
'(- :)--info[Displays distribution info on CPAN]'
|
||||||
|
'(--installdeps)--installdeps[Only install dependencies]'
|
||||||
|
'(--look)--look[Download/unpack the distribution and then open the directory with your shell]'
|
||||||
|
'(- :)'{--help,-h}'[Displays help information]'
|
||||||
|
'(- :)'{--version,-V}'[Displays software version]'
|
||||||
|
|
||||||
|
# Options
|
||||||
|
{--force,-f}'[Force install]'
|
||||||
|
{--notest,-n}'[Do not run unit tests]'
|
||||||
|
{--sudo,-S}'[sudo to run install commands]'
|
||||||
|
'(-v --verbose --quiet -q)'{--verbose,-v}'[Turns on chatty output]'
|
||||||
|
'(-q --quiet --verbose -v)'{--quiet,-q}'[Turns off all output]'
|
||||||
|
{--local-lib,-l}'[Specify the install base to install modules]'
|
||||||
|
{--local-lib-contained,-L}'[Specify the install base to install all non-core modules]'
|
||||||
|
'--mirror[Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)]:URLs:_urls'
|
||||||
|
'--mirror-only[Use the mirror\''s index file instead of the CPAN Meta DB]'
|
||||||
|
'--prompt[Prompt when configure/build/test fails]'
|
||||||
|
'--reinstall[Reinstall the distribution even if you already have the latest version installed]'
|
||||||
|
'--interactive[Turn on interactive configure]'
|
||||||
|
|
||||||
|
'--scandeps[Scan the depencencies of given modules and output the tree in a text format]'
|
||||||
|
'--format[Specify what format to display the scanned dependency tree]:scandeps format:(tree json yaml dists)'
|
||||||
|
|
||||||
|
'--save-dists[Specify the optional directory path to copy downloaded tarballs]'
|
||||||
|
# '--uninst-shadows[Uninstalls the shadow files of the distribution that you\''re installing]'
|
||||||
|
|
||||||
|
'--auto-cleanup[Number of days that cpanm\''s work directories expire in. Defaults to 7]'
|
||||||
|
'(--no-man-pages)--man-pages[Generates man pages for executables (man1) and libraries (man3)]'
|
||||||
|
'(--man-pages)--no-man-pages[Do not generate man pages]'
|
||||||
|
|
||||||
|
|
||||||
|
# Note: Normally with "--lwp", "--wget" and "--curl" options set to true (which is the default) cpanm tries LWP,
|
||||||
|
# Wget, cURL and HTTP::Tiny (in that order) and uses the first one available.
|
||||||
|
# (So that the exclusions are not enabled here for the completion)
|
||||||
|
'(--lwp)--lwp[Use LWP module to download stuff]'
|
||||||
|
'(--wget)--wget[Use GNU Wget (if available) to download stuff]'
|
||||||
|
'(--curl)--curl[Use cURL (if available) to download stuff]'
|
||||||
|
|
||||||
|
# Other completions
|
||||||
|
'*:Local directory or archive:_files -/ -g "*.(tar.gz|tgz|tar.bz2|zip)(-.)"'
|
||||||
|
# '*::args: _normal' # this looks for default files (any files)
|
||||||
|
)
|
||||||
|
_arguments -s $arguments \
|
||||||
|
&& return 0
|
||||||
|
|
||||||
|
return 1
|
4
plugins/cpanm/cpanm.plugin.zsh
Normal file
4
plugins/cpanm/cpanm.plugin.zsh
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# add cpanm completion function to path
|
||||||
|
fpath=($ZSH/plugins/cpanm $fpath)
|
||||||
|
autoload -U compinit
|
||||||
|
compinit -i
|
12
plugins/deb/deb.plugin.zsh
Normal file
12
plugins/deb/deb.plugin.zsh
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# Aliases
|
||||||
|
alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" \
|
||||||
|
--no-gui --disable-columns search" # search package
|
||||||
|
alias ad="sudo apt-get update" # update packages lists
|
||||||
|
alias au="sudo apt-get update && \
|
||||||
|
sudo apt-get dselect-upgrade" # upgrade packages
|
||||||
|
alias ai="sudo apt-get install" # install package
|
||||||
|
alias ar="sudo apt-get remove --purge && \
|
||||||
|
sudo apt-get autoremove --purge" # remove package
|
||||||
|
alias ap="apt-cache policy" # apt policy
|
||||||
|
alias av="apt-cache show" # show package info
|
||||||
|
alias ac="sudo apt-get clean && sudo apt-get autoclean" # clean apt cache
|
60
plugins/debian/debian.plugin.zsh
Normal file
60
plugins/debian/debian.plugin.zsh
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
# https://github.com/dbbolton/
|
||||||
|
#
|
||||||
|
# Debian-related zsh aliases and functions for zsh
|
||||||
|
|
||||||
|
|
||||||
|
# Aliases ###################################################################
|
||||||
|
|
||||||
|
# Some self-explanatory aliases
|
||||||
|
alias afs='apt-file search --regexp'
|
||||||
|
alias aps='aptitude search'
|
||||||
|
alias apsrc='apt-get source'
|
||||||
|
alias apv='apt-cache policy'
|
||||||
|
|
||||||
|
alias apdg='su -c "aptitude update && aptitude safe-upgrade"'
|
||||||
|
alias apud='su -c "aptitude update"'
|
||||||
|
alias apug='su -c "aptitude safe-upgrade"'
|
||||||
|
|
||||||
|
# print all installed packages
|
||||||
|
alias allpkgs='aptitude search -F "%p" --disable-columns ~i'
|
||||||
|
|
||||||
|
# Install all .deb files in the current directory.
|
||||||
|
# Warning: you will need to put the glob in single quotes if you use:
|
||||||
|
# glob_subst
|
||||||
|
alias di='su -c "dpkg -i ./*.deb"'
|
||||||
|
|
||||||
|
# Create a basic .deb package
|
||||||
|
alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
|
||||||
|
|
||||||
|
# Remove ALL kernel images and headers EXCEPT the one in use
|
||||||
|
alias kclean='su -c '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'\'' root'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Functions #################################################################
|
||||||
|
|
||||||
|
# create a simple script that can be used to 'duplicate' a system
|
||||||
|
apt-copy() {
|
||||||
|
print '#!/bin/sh'"\n" > apt-copy.sh
|
||||||
|
|
||||||
|
list=$(perl -m'AptPkg::Cache' -e '$c=AptPkg::Cache->new; for (keys %$c){ push @a, $_ if $c->{$_}->{'CurrentState'} eq 'Installed';} print "$_ " for sort @a;')
|
||||||
|
|
||||||
|
print 'aptitude install '"$list\n" >> apt-copy.sh
|
||||||
|
|
||||||
|
chmod +x apt-copy.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Kernel-package building shortcut
|
||||||
|
dbb-build () {
|
||||||
|
MAKEFLAGS='' # temporarily unset MAKEFLAGS ( '-j3' will fail )
|
||||||
|
appendage='-custom' # this shows up in $ (uname -r )
|
||||||
|
revision=$(date +"%Y%m%d") # this shows up in the .deb file name
|
||||||
|
|
||||||
|
make-kpkg clean
|
||||||
|
|
||||||
|
time fakeroot make-kpkg --append-to-version "$appendage" --revision \
|
||||||
|
"$revision" kernel_image kernel_headers
|
||||||
|
}
|
||||||
|
|
||||||
|
|
26
plugins/lol/lol.plugin.zsh
Normal file
26
plugins/lol/lol.plugin.zsh
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# LOL!!1
|
||||||
|
# Source: http://aur.archlinux.org/packages/lolbash/lolbash/lolbash.sh
|
||||||
|
|
||||||
|
alias wtf='dmesg'
|
||||||
|
alias onoz='cat /var/log/errors.log'
|
||||||
|
alias rtfm='man'
|
||||||
|
|
||||||
|
alias visible='echo'
|
||||||
|
alias invisible='cat'
|
||||||
|
alias moar='more'
|
||||||
|
|
||||||
|
alias icanhas='mkdir'
|
||||||
|
alias donotwant='rm'
|
||||||
|
alias dowant='cp'
|
||||||
|
alias gtfo='mv'
|
||||||
|
|
||||||
|
alias hai='cd'
|
||||||
|
alias plz='pwd'
|
||||||
|
|
||||||
|
alias inur='locate'
|
||||||
|
|
||||||
|
alias nomz='ps -aux'
|
||||||
|
alias nomnom='killall'
|
||||||
|
|
||||||
|
alias cya='reboot'
|
||||||
|
alias kthxbai='halt'
|
89
plugins/macports/_port
Normal file
89
plugins/macports/_port
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
#compdef port
|
||||||
|
|
||||||
|
local subcmds
|
||||||
|
|
||||||
|
# we cache the list of ports
|
||||||
|
# we shall use some cache policy to avoid problems with new ports
|
||||||
|
if (( ! $+portlist )); then
|
||||||
|
portlist=($(port echo all; echo "all current active inactive installed uninstalled outdated"))
|
||||||
|
fi
|
||||||
|
|
||||||
|
subcmds=(
|
||||||
|
'activate'
|
||||||
|
'archive'
|
||||||
|
'build'
|
||||||
|
'cat'
|
||||||
|
'clean'
|
||||||
|
'configure'
|
||||||
|
'contents'
|
||||||
|
'deactivate'
|
||||||
|
'dependents'
|
||||||
|
'deps'
|
||||||
|
'destroot'
|
||||||
|
'dir'
|
||||||
|
'distcheck'
|
||||||
|
'distclean'
|
||||||
|
'dmg'
|
||||||
|
'echo'
|
||||||
|
'edit'
|
||||||
|
'extract'
|
||||||
|
'fetch'
|
||||||
|
'file'
|
||||||
|
'help'
|
||||||
|
'info'
|
||||||
|
'install'
|
||||||
|
'installed'
|
||||||
|
'list'
|
||||||
|
'livecheck'
|
||||||
|
'location'
|
||||||
|
'mpkg'
|
||||||
|
'outdated'
|
||||||
|
'patch'
|
||||||
|
'pkg'
|
||||||
|
'provides'
|
||||||
|
'rpmpackage'
|
||||||
|
'search'
|
||||||
|
'selfupdate'
|
||||||
|
'sync'
|
||||||
|
'test'
|
||||||
|
'unarchive'
|
||||||
|
'uninstall'
|
||||||
|
'upgrade'
|
||||||
|
'variants'
|
||||||
|
'version'
|
||||||
|
)
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
'-v[verbose mode (generate verbose messages)]' \
|
||||||
|
'-d[debug mode (generate debugging messages)]' \
|
||||||
|
'-q[quiet mode (suppress messages)]' \
|
||||||
|
'-D[specify portdir]' \
|
||||||
|
'-k[keep mode (do not autoclean after install)]' \
|
||||||
|
'-n[dont follow dependencies in upgrade (only for upgrading)]' \
|
||||||
|
'-a[upgrade all installed ports (only for upgrading)]' \
|
||||||
|
'-u[uninstall non-active ports when upgrading and uninstalling]' \
|
||||||
|
'-f[force mode (ignore state file)]' \
|
||||||
|
'-s[source-only mode]' \
|
||||||
|
'-b[binary-only mode]' \
|
||||||
|
'-o[honor state files older than Portfile]' \
|
||||||
|
'*::command:->command' \
|
||||||
|
&& return 0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
command)
|
||||||
|
if ((CURRENT == 1)); then
|
||||||
|
state=subcommands
|
||||||
|
else
|
||||||
|
state=portname
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
subcommands)
|
||||||
|
_describe -t commands 'port commands' subcmds
|
||||||
|
;;
|
||||||
|
portname)
|
||||||
|
_describe -t commands 'available ports' portlist
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -5,3 +5,8 @@ alias psu="sudo port selfupdate"
|
||||||
alias puni="sudo port uninstall inactive"
|
alias puni="sudo port uninstall inactive"
|
||||||
alias puo="sudo port upgrade outdated"
|
alias puo="sudo port upgrade outdated"
|
||||||
alias pup="psu && puo"
|
alias pup="psu && puo"
|
||||||
|
|
||||||
|
# add macports completion function to path
|
||||||
|
fpath=($ZSH/plugins/macports $fpath)
|
||||||
|
autoload -U compinit
|
||||||
|
compinit -i
|
||||||
|
|
62
plugins/perl/perl.plugin.zsh
Normal file
62
plugins/perl/perl.plugin.zsh
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
# https://github.com/dbbolton
|
||||||
|
#
|
||||||
|
# Below are some useful Perl-related aliases/functions that I use with zsh.
|
||||||
|
|
||||||
|
|
||||||
|
# Aliases ###################################################################
|
||||||
|
|
||||||
|
# perlbrew ########
|
||||||
|
alias pbi='perlbrew install'
|
||||||
|
alias pbl='perlbrew list'
|
||||||
|
alias pbo='perlbrew off'
|
||||||
|
alias pbs='perlbrew switch'
|
||||||
|
alias pbu='perlbrew use'
|
||||||
|
|
||||||
|
# Perl ############
|
||||||
|
|
||||||
|
# perldoc`
|
||||||
|
alias pd='perldoc'
|
||||||
|
|
||||||
|
# use perl like awk/sed
|
||||||
|
alias ple='perl -wlne'
|
||||||
|
|
||||||
|
# show the latest stable release of Perl
|
||||||
|
alias latest-perl='curl -s http://www.perl.org/get.html | perl -wlne '\''if (/perl\-([\d\.]+)\.tar\.gz/) { print $1; exit;}'\'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Functions #################################################################
|
||||||
|
|
||||||
|
# newpl - creates a basic Perl script file and opens it with $EDITOR
|
||||||
|
newpl () {
|
||||||
|
# set $EDITOR to 'vim' if it is undefined
|
||||||
|
[[ -z $EDITOR ]] && EDITOR=vim
|
||||||
|
|
||||||
|
# if the file exists, just open it
|
||||||
|
[[ -e $1 ]] && print "$1 exists; not modifying.\n" && $EDITOR $1
|
||||||
|
|
||||||
|
# if it doesn't, make it, and open it
|
||||||
|
[[ ! -e $1 ]] && print '#!/usr/bin/perl'"\n"'use strict;'"\n"'use warnings;'\
|
||||||
|
"\n\n" > $1 && $EDITOR $1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# pgs - Perl Global Substitution
|
||||||
|
# find pattern = 1st arg
|
||||||
|
# replace pattern = 2nd arg
|
||||||
|
# filename = 3rd arg
|
||||||
|
pgs() { # [find] [replace] [filename]
|
||||||
|
perl -i.orig -pe 's/'"$1"'/'"$2"'/g' "$3"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Perl grep, because 'grep -P' is terrible. Lets you work with pipes or files.
|
||||||
|
prep() { # [pattern] [filename unless STDOUT]
|
||||||
|
perl -nle 'print if /'"$1"'/;' $2
|
||||||
|
}
|
||||||
|
|
||||||
|
# say - append a newline to 'print'
|
||||||
|
say() {
|
||||||
|
print "$1\n"
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Based on code from Joseph M. Reagle
|
# Based on code from Joseph M. Reagle
|
||||||
# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html
|
# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html
|
||||||
|
|
||||||
local SSH_ENV=$HOME/.ssh/environment
|
local SSH_ENV=$HOME/.ssh/environment-$HOST
|
||||||
|
|
||||||
function start_agent {
|
function start_agent {
|
||||||
/usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
|
/usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
|
||||||
|
|
15
themes/tjkirch.zsh-theme
Normal file
15
themes/tjkirch.zsh-theme
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}⚡"
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
|
||||||
|
function prompt_char {
|
||||||
|
if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi
|
||||||
|
}
|
||||||
|
|
||||||
|
PROMPT='%(?, ,%{$fg[red]%}FAIL: $?%{$reset_color%}
|
||||||
|
)
|
||||||
|
%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info)
|
||||||
|
%_$(prompt_char) '
|
||||||
|
|
||||||
|
RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}'
|
Loading…
Reference in a new issue