projects
/
grml-etc-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
zshrc: provide smart cd function, allows switching to /etc when running 'cd /etc...
[grml-etc-core.git]
/
etc
/
zsh
/
zshrc
diff --git
a/etc/zsh/zshrc
b/etc/zsh/zshrc
index
a20ad49
..
cf20ca7
100644
(file)
--- a/
etc/zsh/zshrc
+++ b/
etc/zsh/zshrc
@@
-103,14
+103,6
@@
# *all* aliases, for example, use @@INSERT-aliases-all@@.
#}}}
# *all* aliases, for example, use @@INSERT-aliases-all@@.
#}}}
-# Only load once
-[[ ${(t)GRML} != *association* ]] && typeset -gA GRML
-if (( ${GRML[ZSHRC_LOADED]} )); then
- return 0
-else
- GRML[ZSHRC_LOADED]=1
-fi
-
# zsh profiling {{{
# just execute 'ZSH_PROFILE_RC=1 zsh' and run 'zprof' to get the details
if [[ $ZSH_PROFILE_RC -gt 0 ]] ; then
# zsh profiling {{{
# just execute 'ZSH_PROFILE_RC=1 zsh' and run 'zprof' to get the details
if [[ $ZSH_PROFILE_RC -gt 0 ]] ; then
@@
-1305,7
+1297,7
@@
function info_print () {
is4 && [[ $NOPRECMD -eq 0 ]] && precmd () {
[[ $NOPRECMD -gt 0 ]] && return 0
# update VCS information
is4 && [[ $NOPRECMD -eq 0 ]] && precmd () {
[[ $NOPRECMD -gt 0 ]] && return 0
# update VCS information
- vcs_info
+
(( ${+functions[vcs_info]} )) &&
vcs_info
if [[ $TERM == screen* ]] ; then
if [[ -n ${vcs_info_msg_1_} ]] ; then
if [[ $TERM == screen* ]] ; then
if [[ -n ${vcs_info_msg_1_} ]] ; then
@@
-2663,6
+2655,17
@@
fir() {
firefox -a firefox -remote "openURL($1)" || firefox ${1}&
fi
}
firefox -a firefox -remote "openURL($1)" || firefox ${1}&
fi
}
+# smart cd function, allows switching to /etc when running 'cd /etc/fstab'
+cd() {
+ if [[ -f ${1} ]]; then
+ [[ ! -e ${1:h} ]] && return 1
+ print "Correcting ${1} to ${1:h}"
+ builtin cd ${1:h}
+ else
+ builtin cd ${1}
+ fi
+}
+
#f5# Create Directoy and \kbd{cd} to it
mcd() {
mkdir -p "$@" && cd "$@"
#f5# Create Directoy and \kbd{cd} to it
mcd() {
mkdir -p "$@" && cd "$@"