mirror of
https://github.com/tomru/DotfilesOld.git
synced 2026-03-04 06:57:23 +01:00
added my modified oh-my-zsh version to repository
This commit is contained in:
23
zsh/lib/aliases.zsh
Normal file
23
zsh/lib/aliases.zsh
Normal file
@@ -0,0 +1,23 @@
|
||||
# Push and pop directories on directory stack
|
||||
alias pu='pushd'
|
||||
alias po='popd'
|
||||
|
||||
# Basic directory operations
|
||||
alias ...='cd ../..'
|
||||
alias -- -='cd -'
|
||||
|
||||
# Super user
|
||||
alias _='sudo'
|
||||
|
||||
#alias g='grep -in'
|
||||
|
||||
# Show history
|
||||
alias history='fc -l 1'
|
||||
|
||||
# List direcory contents
|
||||
alias lsa='ls -lah'
|
||||
alias l='ls -la'
|
||||
alias ll='ls -l'
|
||||
alias sl=ls # often screw this up
|
||||
|
||||
alias afind='ack-grep -il'
|
||||
38
zsh/lib/appearance.zsh
Normal file
38
zsh/lib/appearance.zsh
Normal file
@@ -0,0 +1,38 @@
|
||||
# ls colors
|
||||
autoload colors; colors;
|
||||
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
||||
#export LS_COLORS
|
||||
|
||||
# Enable ls colors
|
||||
if [ "$DISABLE_LS_COLORS" != "true" ]
|
||||
then
|
||||
# Find the option for using colors in ls, depending on the version: Linux or BSD
|
||||
ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'
|
||||
fi
|
||||
|
||||
#setopt no_beep
|
||||
setopt auto_cd
|
||||
setopt multios
|
||||
setopt cdablevarS
|
||||
|
||||
if [[ x$WINDOW != x ]]
|
||||
then
|
||||
SCREEN_NO="%B$WINDOW%b "
|
||||
else
|
||||
SCREEN_NO=""
|
||||
fi
|
||||
|
||||
# Apply theming defaults
|
||||
PS1="%n@%m:%~%# "
|
||||
|
||||
# git theming default: Variables for theming the git info prompt
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="git:(" # Prefix at the very beginning of the prompt, before the branch name
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=")" # At the very end of the prompt
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="*" # Text to display if the branch is dirty
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is clean
|
||||
|
||||
# Setup the prompt with pretty colors
|
||||
setopt prompt_subst
|
||||
|
||||
# Load the theme
|
||||
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
|
||||
42
zsh/lib/completion.zsh
Normal file
42
zsh/lib/completion.zsh
Normal file
@@ -0,0 +1,42 @@
|
||||
# fixme - the load process here seems a bit bizarre
|
||||
|
||||
unsetopt menu_complete # do not autoselect the first completion entry
|
||||
unsetopt flowcontrol
|
||||
setopt auto_menu # show completion menu on succesive tab press
|
||||
setopt complete_in_word
|
||||
setopt always_to_end
|
||||
|
||||
WORDCHARS=''
|
||||
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
|
||||
zmodload -i zsh/complist
|
||||
|
||||
## case-insensitive (all),partial-word and then substring completion
|
||||
if [ "x$CASE_SENSITIVE" = "xtrue" ]; then
|
||||
zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
|
||||
unset CASE_SENSITIVE
|
||||
else
|
||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
|
||||
fi
|
||||
|
||||
zstyle ':completion:*' list-colors ''
|
||||
|
||||
# should this be in keybindings?
|
||||
bindkey -M menuselect '^o' accept-and-infer-next-history
|
||||
|
||||
zstyle ':completion:*:*:*:*:*' menu select
|
||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
||||
zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w"
|
||||
|
||||
# disable named-directories autocompletion
|
||||
zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
|
||||
cdpath=(.)
|
||||
|
||||
|
||||
# Load known hosts file for auto-completion with ssh and scp commands
|
||||
if [ -f ~/.ssh/known_hosts ]; then
|
||||
zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts )
|
||||
zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts`
|
||||
fi
|
||||
10
zsh/lib/correction.zsh
Normal file
10
zsh/lib/correction.zsh
Normal file
@@ -0,0 +1,10 @@
|
||||
setopt correct_all
|
||||
|
||||
alias man='nocorrect man'
|
||||
alias mv='nocorrect mv'
|
||||
alias mysql='nocorrect mysql'
|
||||
alias mkdir='nocorrect mkdir'
|
||||
alias gist='nocorrect gist'
|
||||
alias heroku='nocorrect heroku'
|
||||
alias ebuild='nocorrect ebuild'
|
||||
alias hpodder='nocorrect hpodder'
|
||||
40
zsh/lib/directories.zsh
Normal file
40
zsh/lib/directories.zsh
Normal file
@@ -0,0 +1,40 @@
|
||||
# Changing/making/removing directory
|
||||
setopt auto_name_dirs
|
||||
setopt auto_pushd
|
||||
setopt pushd_ignore_dups
|
||||
|
||||
alias ..='cd ..'
|
||||
alias cd..='cd ..'
|
||||
alias cd...='cd ../..'
|
||||
alias cd....='cd ../../..'
|
||||
alias cd.....='cd ../../../..'
|
||||
alias cd/='cd /'
|
||||
|
||||
alias 1='cd -'
|
||||
alias 2='cd +2'
|
||||
alias 3='cd +3'
|
||||
alias 4='cd +4'
|
||||
alias 5='cd +5'
|
||||
alias 6='cd +6'
|
||||
alias 7='cd +7'
|
||||
alias 8='cd +8'
|
||||
alias 9='cd +9'
|
||||
|
||||
cd () {
|
||||
if [[ "x$*" == "x..." ]]; then
|
||||
cd ../..
|
||||
elif [[ "x$*" == "x...." ]]; then
|
||||
cd ../../..
|
||||
elif [[ "x$*" == "x....." ]]; then
|
||||
cd ../../..
|
||||
elif [[ "x$*" == "x......" ]]; then
|
||||
cd ../../../..
|
||||
else
|
||||
builtin cd "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
alias md='mkdir -p'
|
||||
alias rd=rmdir
|
||||
|
||||
alias d='dirs -v'
|
||||
2
zsh/lib/editor.zsh
Normal file
2
zsh/lib/editor.zsh
Normal file
@@ -0,0 +1,2 @@
|
||||
export EDITOR=vim
|
||||
alias e=$EDITOR
|
||||
39
zsh/lib/functions.zsh
Normal file
39
zsh/lib/functions.zsh
Normal file
@@ -0,0 +1,39 @@
|
||||
## fixme, i duplicated this in xterms - oops
|
||||
function title {
|
||||
if [[ $TERM == "screen" ]]; then
|
||||
# Use these two for GNU Screen:
|
||||
print -nR $'\033k'$1$'\033'\\\
|
||||
|
||||
print -nR $'\033]0;'$2$'\a'
|
||||
elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]]; then
|
||||
# Use this one instead for XTerms:
|
||||
print -nR $'\033]0;'$*$'\a'
|
||||
fi
|
||||
}
|
||||
|
||||
function precmd {
|
||||
title zsh "$PWD"
|
||||
}
|
||||
|
||||
function preexec {
|
||||
emulate -L zsh
|
||||
local -a cmd; cmd=(${(z)1})
|
||||
title $cmd[1]:t "$cmd[2,-1]"
|
||||
}
|
||||
|
||||
function zsh_stats() {
|
||||
history | awk '{print $2}' | sort | uniq -c | sort -rn | head
|
||||
}
|
||||
|
||||
function uninstall_oh_my_zsh() {
|
||||
/bin/sh $ZSH/tools/uninstall.sh
|
||||
}
|
||||
|
||||
function upgrade_oh_my_zsh() {
|
||||
/bin/sh $ZSH/tools/upgrade.sh
|
||||
}
|
||||
|
||||
function take() {
|
||||
mkdir -p $1
|
||||
cd $1
|
||||
}
|
||||
40
zsh/lib/git.zsh
Normal file
40
zsh/lib/git.zsh
Normal file
@@ -0,0 +1,40 @@
|
||||
# get the name of the branch we are on
|
||||
function git_prompt_info() {
|
||||
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
|
||||
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
|
||||
}
|
||||
|
||||
parse_git_dirty () {
|
||||
if [[ -n $(git status -s 2> /dev/null) ]]; then
|
||||
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
|
||||
else
|
||||
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
||||
fi
|
||||
}
|
||||
|
||||
# get the status of the working tree
|
||||
git_prompt_status() {
|
||||
INDEX=$(git status --porcelain 2> /dev/null)
|
||||
STATUS=""
|
||||
if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^A ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^R ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS"
|
||||
fi
|
||||
echo $STATUS
|
||||
}
|
||||
6
zsh/lib/grep.zsh
Normal file
6
zsh/lib/grep.zsh
Normal file
@@ -0,0 +1,6 @@
|
||||
#
|
||||
# Color grep results
|
||||
# Examples: http://rubyurl.com/ZXv
|
||||
#
|
||||
export GREP_OPTIONS='--color=auto'
|
||||
export GREP_COLOR='1;32'
|
||||
16
zsh/lib/history.zsh
Normal file
16
zsh/lib/history.zsh
Normal file
@@ -0,0 +1,16 @@
|
||||
## Command history configuration
|
||||
HISTFILE=$HOME/.zsh_history
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
|
||||
setopt hist_ignore_dups # ignore duplication command history list
|
||||
setopt share_history # share command history data
|
||||
|
||||
setopt hist_verify
|
||||
setopt inc_append_history
|
||||
setopt extended_history
|
||||
setopt hist_expire_dups_first
|
||||
setopt hist_ignore_space
|
||||
|
||||
setopt SHARE_HISTORY
|
||||
setopt APPEND_HISTORY
|
||||
42
zsh/lib/key-bindings.zsh
Normal file
42
zsh/lib/key-bindings.zsh
Normal file
@@ -0,0 +1,42 @@
|
||||
# TODO: Explain what some of this does..
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
|
||||
bindkey -e
|
||||
bindkey '\ew' kill-region
|
||||
bindkey -s '\el' "ls\n"
|
||||
bindkey -s '\e.' "..\n"
|
||||
bindkey '^r' history-incremental-search-backward
|
||||
bindkey "^[[5~" up-line-or-history
|
||||
bindkey "^[[6~" down-line-or-history
|
||||
|
||||
# make search up and down work, so partially type and hit up/down to find relevant stuff
|
||||
bindkey '^[[A' up-line-or-search
|
||||
bindkey '^[[B' down-line-or-search
|
||||
|
||||
bindkey "^[[H" beginning-of-line
|
||||
bindkey "^[[1~" beginning-of-line
|
||||
bindkey "^[[F" end-of-line
|
||||
bindkey "^[[4~" end-of-line
|
||||
bindkey ' ' magic-space # also do history expansion on space
|
||||
|
||||
bindkey '^[[Z' reverse-menu-complete
|
||||
|
||||
# consider emacs keybindings:
|
||||
|
||||
#bindkey -e ## emacs key bindings
|
||||
#
|
||||
#bindkey '^[[A' up-line-or-search
|
||||
#bindkey '^[[B' down-line-or-search
|
||||
#bindkey '^[^[[C' emacs-forward-word
|
||||
#bindkey '^[^[[D' emacs-backward-word
|
||||
#
|
||||
#bindkey -s '^X^Z' '%-^M'
|
||||
#bindkey '^[e' expand-cmd-path
|
||||
#bindkey '^[^I' reverse-menu-complete
|
||||
#bindkey '^X^N' accept-and-infer-next-history
|
||||
#bindkey '^W' kill-region
|
||||
#bindkey '^I' complete-word
|
||||
## Fix weird sequence that rxvt produces
|
||||
#bindkey -s '^[[Z' '\t'
|
||||
#
|
||||
13
zsh/lib/misc.zsh
Normal file
13
zsh/lib/misc.zsh
Normal file
@@ -0,0 +1,13 @@
|
||||
## smart urls
|
||||
autoload -U url-quote-magic
|
||||
zle -N self-insert url-quote-magic
|
||||
|
||||
## file rename magick
|
||||
bindkey "^[m" copy-prev-shell-word
|
||||
|
||||
## jobs
|
||||
setopt long_list_jobs
|
||||
|
||||
## pager
|
||||
export PAGER=less
|
||||
export LC_CTYPE=en_US.UTF-8
|
||||
2
zsh/lib/path.zsh
Normal file
2
zsh/lib/path.zsh
Normal file
@@ -0,0 +1,2 @@
|
||||
export PATH=$HOME/bin:/usr/local/bin:/Applications/Emacs.app/Contents/MacOS/bin:$PATH
|
||||
|
||||
1
zsh/lib/paths.zsh
Normal file
1
zsh/lib/paths.zsh
Normal file
@@ -0,0 +1 @@
|
||||
inbox="$HOME/Desktop/Inbox"
|
||||
20
zsh/lib/spectrum.zsh
Normal file
20
zsh/lib/spectrum.zsh
Normal file
@@ -0,0 +1,20 @@
|
||||
#! /bin/zsh
|
||||
# A script to make using 256 colors in zsh less painful.
|
||||
# P.C. Shyamshankar <sykora@lucentbeing.com>
|
||||
# Copied from http://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
|
||||
|
||||
typeset -Ag FX FG BG
|
||||
|
||||
FX=(
|
||||
reset "%{[00m%}"
|
||||
bold "%{[01m%}" no-bold "%{[22m%}"
|
||||
italic "%{[03m%}" no-italic "%{[23m%}"
|
||||
underline "%{[04m%}" no-underline "%{[24m%}"
|
||||
blink "%{[05m%}" no-blink "%{[25m%}"
|
||||
reverse "%{[07m%}" no-reverse "%{[27m%}"
|
||||
)
|
||||
|
||||
for color in {000..255}; do
|
||||
FG[$color]="%{[38;5;${color}m%}"
|
||||
BG[$color]="%{[48;5;${color}m%}"
|
||||
done
|
||||
21
zsh/lib/termsupport.zsh
Normal file
21
zsh/lib/termsupport.zsh
Normal file
@@ -0,0 +1,21 @@
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*)
|
||||
preexec () {
|
||||
print -Pn "\e]0;%n@%m: $1\a" # xterm
|
||||
}
|
||||
precmd () {
|
||||
print -Pn "\e]0;%n@%m: %~\a" # xterm
|
||||
}
|
||||
;;
|
||||
screen*)
|
||||
preexec () {
|
||||
local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]}
|
||||
echo -ne "\ek$CMD\e\\"
|
||||
print -Pn "\e]0;%n@%m: $1\a" # xterm
|
||||
}
|
||||
precmd () {
|
||||
echo -ne "\ekzsh\e\\"
|
||||
print -Pn "\e]0;%n@%m: %~\a" # xterm
|
||||
}
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user