5 # If not running interactively, don't do anything
11 # Stop if non-interactive shell
12 [ -z "$PS1" ] && return
14 #if [ -x /usr/bin/dircolors ]; then
15 # # I don't like these aliases - they work only in command line
16 # # but not in scripts I run from command line.
17 # # Color parameters must be passed via environment.
18 # # So instead I put them in shell scripts in ~/bin.
19 # alias ls='ls --color=auto'
20 # alias dir='dir --color=auto'
21 # alias vdir='vdir --color=auto'
23 # alias grep='grep --color=auto'
24 # alias fgrep='fgrep --color=auto'
25 # alias egrep='egrep --color=auto'
27 # alias dmesg='dmesg --human'
42 if test -n "$KSH_VERSION" -o -n "$FCEDIT"; then
47 # clear screen and history, logout
48 chlo() { clear; cd; >$HISTFILE; unset HISTFILE; history -c; logout || exit; }
50 if [ -n "$STY" -a "$WINDOW" != 0 ]; then
51 #unset MAILCHECK everywhere except for the 1st GNU screen window
55 if test -x /usr/bin/git >/dev/null 2>&1; then
56 # chdir to a directory
59 echo "Usage: cdgitpath path_key" >&2
64 if [ -z "$path_key" ]; then
65 echo "Usage: cdgitpath path_key" >&2
69 path_url="`git config --get --path $path_key`"
70 if echo "$path_url" | grep -q '^file:/'; then
71 path_url="`echo \"$path_url\" | sed 's@^file:/\+@/@'`"
76 # See https://stackoverflow.com/a/77266926/7976758
80 echo "Usage: cd_worktree <branch>" >&2
83 path="$(git worktree list | grep -F "$1" | awk '{print $1}')"
84 if [ -n "$path" ]; then
87 echo "Cannot find path for branch '$1'" >&2
96 if [ -f "./$cfg" -a -r "./$cfg" ]; then
97 echo "Reading config file \`$cfg'" 1>&2
99 elif [ -f "$HOME/lib/config/$cfg" -a -r "$HOME/lib/config/$cfg" ]; then
100 echo "Reading config file \`$HOME/lib/config/$cfg'" 1>&2
101 . "$HOME/lib/config/$cfg" "$@"
103 echo "Cannot find config file \`$cfg'" 1>&2
108 [ "`type -t mc`" = alias ] && unalias mc
110 if [ -n "$SLOWTERM" ]; then
115 screen*) # screen, screen.rxvt
126 /usr/local/share/mc/bin/mc-wrapper.sh \
127 /usr/local/libexec/mc/mc-wrapper.sh \
128 /usr/share/mc/bin/mc-wrapper.sh; do
129 if [ -r $wrapper ]; then
130 . $wrapper $MC_SLOW $MC_XTERM "$@"
137 if [ $MC_FOUND = NO ]; then
138 for mc in /usr/local/bin/mc /usr/bin/mc; do
140 MC_TMP_DIR="${TMPDIR-/tmp}/mc-$USER"
141 if [ ! -d MC_TMP_DIR="${TMPDIR-/tmp}/mc-$USER" ]; then
142 MC_TMP_DIR="${TMPDIR-/tmp}"
144 MC_PWD_FILE="$MC_TMP_DIR/mc.pwd.$$"
145 mc_type="`mc_type.py $mc`"
146 if [ "$mc_type" = old ]; then
147 $mc -P $MC_SLOW $MC_XTERM "$@" > "$MC_PWD_FILE"
148 elif [ "$mc_type" = new ]; then
149 $mc -P "$MC_PWD_FILE" $MC_SLOW $MC_XTERM "$@"
155 cd "`cat \"$MC_PWD_FILE\"`" && /bin/rm "$MC_PWD_FILE"
161 if [ $MC_FOUND = NO ]; then
162 echo "Cannot find mc-wrapper.sh or mc" >&2
166 unset MC_FOUND MC_PWD_FILE MC_SLOW MC_TMP_DIR MC_XTERM
173 if [ $# -ne 1 ]; then
174 echo "Usage: mkcd directory_name" >&2
175 elif [ -d "$1" ]; then
177 elif [ -e "$1" ]; then
178 echo "Error: $1 is a file" >&2
180 mkdir -p "$1" && cd "$1"
185 if which tmux >/dev/null 2>&1; then
189 TERM=rxvt-unicode command tmux "$@"
203 cd "`cat \"$HOME/tmp/vim/cwd\"`" && /bin/rm "$HOME/tmp/vim/cwd" &&
208 if [ "$SHLVL" -eq 1 ] && which startx >/dev/null 2>&1; then
209 X() { startx >> .Xserver.log 2>&1; cyr; /bin/rm -f .Xauthority; }