First working version
This commit is contained in:
parent
516ac668d7
commit
623cb108ff
|
@ -0,0 +1,24 @@
|
|||
# -----------------------------------------------------------------------------
|
||||
# My.Zsh - My personal zsh configuration
|
||||
# Copyright (C) 2013 Sameer Rahmani <lxsameer@gnu.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
alias p="python2.7"
|
||||
alias p3="python3.3"
|
||||
|
||||
alias r="ruby"
|
||||
alias rr="rials"
|
|
@ -1,72 +0,0 @@
|
|||
# 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=''
|
||||
|
||||
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=(.)
|
||||
|
||||
# use /etc/hosts and known_hosts for hostname completion
|
||||
[ -r /etc/ssh/ssh_known_hosts ] && _global_ssh_hosts=(${${${${(f)"$(</etc/ssh/ssh_known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _global_ssh_hosts=()
|
||||
[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
|
||||
[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
|
||||
hosts=(
|
||||
"$_global_ssh_hosts[@]"
|
||||
"$_ssh_hosts[@]"
|
||||
"$_etc_hosts[@]"
|
||||
"$HOST"
|
||||
localhost
|
||||
)
|
||||
zstyle ':completion:*:hosts' hosts $hosts
|
||||
|
||||
# Use caching so that commands like apt and dpkg complete are useable
|
||||
zstyle ':completion::complete:*' use-cache 1
|
||||
zstyle ':completion::complete:*' cache-path $ZSH/cache/
|
||||
|
||||
# Don't complete uninteresting users
|
||||
zstyle ':completion:*:*:*:users' ignored-patterns \
|
||||
adm amanda apache avahi beaglidx bin cacti canna clamav daemon \
|
||||
dbus distcache dovecot fax ftp games gdm gkrellmd gopher \
|
||||
hacluster haldaemon halt hsqldb ident junkbust ldap lp mail \
|
||||
mailman mailnull mldonkey mysql nagios \
|
||||
named netdump news nfsnobody nobody nscd ntp nut nx openvpn \
|
||||
operator pcap postfix postgres privoxy pulse pvm quagga radvd \
|
||||
rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs
|
||||
|
||||
# ... unless we really want to.
|
||||
zstyle '*' single-ignored show
|
||||
|
||||
if [ "x$COMPLETION_WAITING_DOTS" = "xtrue" ]; then
|
||||
expand-or-complete-with-dots() {
|
||||
echo -n "\e[31m......\e[0m"
|
||||
zle expand-or-complete
|
||||
zle redisplay
|
||||
}
|
||||
zle -N expand-or-complete-with-dots
|
||||
bindkey "^I" expand-or-complete-with-dots
|
||||
fi
|
34
my.zsh
34
my.zsh
|
@ -17,6 +17,10 @@
|
|||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
#[[ -z "$PS1" ]] && return
|
||||
|
||||
# Set options
|
||||
setopt HIST_IGNORE_DUPS \
|
||||
NO_HIST_BEEP \
|
||||
PROMPT_SUBST \
|
||||
|
@ -24,8 +28,34 @@ setopt HIST_IGNORE_DUPS \
|
|||
AUTO_CD \
|
||||
CORRECT
|
||||
|
||||
# unset options
|
||||
unsetopt SHARE_HISTORY
|
||||
|
||||
cdpath=(~/src .)
|
||||
|
||||
[[ -z "$PS1" ]] && return
|
||||
# My.Zsh directory path
|
||||
myzsh=${MYZSH:-$HOME}
|
||||
|
||||
# Load aliases
|
||||
. $myzsh/aliases
|
||||
|
||||
# Load the theme and coloring
|
||||
autoload -U colors && colors
|
||||
|
||||
tput colors; print $terminfo[colors]; print $termcap[Co]
|
||||
|
||||
theme=${THEME:-$myzsh/themes/lxsameer.zsh-theme}
|
||||
. $theme
|
||||
|
||||
fpath=($myzsh/lib/*.zsh(N) $fpath)
|
||||
|
||||
# Autoload functions that have the executable bit on.
|
||||
|
||||
for dirname in $fpath; do
|
||||
fns=( $dirname/*~*~(N.x:t) )
|
||||
(( ${#fns} )) && autoload $fns
|
||||
done
|
||||
|
||||
|
||||
project_path=${PROJECTS:-~/src}
|
||||
|
||||
cdpath=($project_path $cdpath)
|
||||
|
|
|
@ -39,18 +39,18 @@ function spaces() {
|
|||
}
|
||||
function user_sign () {
|
||||
if [ $UID != 0 ]; then
|
||||
echo "$FG[027]»"
|
||||
echo "%F{027}»"
|
||||
else
|
||||
echo "$FG[009]#"
|
||||
echo "%F{009}#"
|
||||
fi
|
||||
}
|
||||
|
||||
PROMPT='
|
||||
$FG[003]%~$FG[008]$(spaces) $(my_git_prompt_info)
|
||||
$(user_sign) $reset_color'
|
||||
%F{003}%~%F{008}$(spaces) $(my_git_prompt_info)
|
||||
$(user_sign) %f'
|
||||
|
||||
# git settings
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="$FG[002]["
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%F{002}["
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="$FG[003]*"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="$FG[002]]"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%F{003}*"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%F{002}]"
|
||||
|
|
Loading…
Reference in New Issue