alias mv='mv -i'
# alias chmod='chmod -v'
alias chmod='chmod -c'
-alias cp='cp -i'
+alias cp='cp -i -v'
alias rd=rmdir
-alias md='mkdir -v'
+alias md='mkdir -pv'
alias ps='ps uxaf'
alias df='df -hT --sync'
alias grep='grep -i -E --color=auto'
if [ -e "${HOME}/.dircolors" ]; then
eval $(dircolors "${HOME}/.dircolors")
- alias ls='ls --group-directories-first --color'
- alias lt='ls --color -gohtr --time-style="+%Y %b %d %H:%M"'
- alias ll='ls --color -goh --time-style="+%Y %b %d %H:%M"'
- alias lll='ls --color -lth'
- alias l='ls --color -I "*~" -I "*.o"'
+ alias ls='ls -p --group-directories-first --color'
+ alias lt='ls -p --color -gohtr --time-style="+%Y %b %d %H:%M"'
+ alias ll='ls -p --color -goh --time-style="+%Y %b %d %H:%M"'
+ alias lll='ls -p --color -lth'
+ alias l='ls -p --color -I "*~" -I "*.o"'
alias less='less -R'
else
- alias ls='ls --group-directories-first'
- alias lt='ls -gohtr --time-style="+%Y %b %d %H:%M"'
- alias ll='ls -goh --time-style="+%Y %b %d %H:%M"'
- alias lll='ls -lth'
- alias l='ls -I "*~" -I "*.o"'
+ alias ls='ls -p --group-directories-first'
+ alias lt='ls -p -gohtr --time-style="+%Y %b %d %H:%M"'
+ alias ll='ls -p -goh --time-style="+%Y %b %d %H:%M"'
+ alias lll='ls -p -lth'
+ alias l='ls -p -I "*~" -I "*.o"'
fi
export EDITOR=emacsclient
# corresponding tex file
function rl () {
- RECENT_LOG=$(find -maxdepth 1 -name "*.log" -type f | head -1)
+ RECENT_LOG=$(ls -t $(find -maxdepth 1 -name "*.log" -type f) | head -1)
+
if [[ ${RECENT_LOG} ]]; then
- FILE=${RECENT_LOG/.log/}
- pdflatex ${FILE}
- bibtex ${FILE}
- pdflatex ${FILE}
- pdflatex ${FILE}
- if [[ "$1" == "--xpdf" ]]; then
- xpdf ${FILE}.pdf
+ FILEBASE="${RECENT_LOG/.log/}"
+
+ if [[ -f "${FILEBASE}.tex" ]]; then
+
+ pdflatex "${FILEBASE}"
+ bibtex "${FILEBASE}"
+ pdflatex "${FILEBASE}"
+ pdflatex "${FILEBASE}"
+
+ if [[ "$1" == "--view" ]]; then
+ xpdf "${FILEBASE}.pdf"
+ elif [[ "$1" == "--print" ]]; then
+ lpr "${FILEBASE}.pdf"
+ fi
+
+ else
+
+ echo "Can not find a tex file corresponding to the most recent log (${RECENT_LOG/.log/})." >&2
+ return 1
+
fi
+
else
echo "Can not find a recent log." >&2
return 1
return 1
fi
else
- cd $(mktemp -d /tmp/tmp.XXXXXX)
+ dir=$(mktemp -d /tmp/tmp.XXXXXX)
+ link=/tmp/tmp
+ if [[ -h ${link} ]]; then
+ \rm ${link}
+ fi
+ if [[ ! -a ${link} ]]; then
+ ln -s ${dir} ${link}
+ fi
+ cd ${dir}
fi
}
function trash () {
TRASH=$(date +/tmp/trash-%Y-%b-%d-%Hh)
+ LINK=/tmp/trash
- if [[ -d ${TRASH} ]]; then
- echo "Re-use ${TRASH}"
- else
- mkdir ${TRASH}
- echo "Created ${TRASH}"
- fi
+ mkdir -p ${TRASH}
+
+ [[ -h ${LINK} ]] && \rm ${LINK}
+ [[ ! -f ${LINK} ]] && ln -s ${TRASH} ${LINK}
mv "$@" ${TRASH}
echo "Trashed $@"
# the current directory
function lsn () {
- LSN_MEMORY=".lsn-mem"
- if [[ $1 == "--mem" ]]; then
- \ls > ${LSN_MEMORY}
+ LSN_MEMORY=".lsn-state"
+ if [[ $1 == "--mem" ]] || [[ "$1" == "-m" ]]; then
+ \ls -pa | sort > ${LSN_MEMORY}
+ echo "State updated." >&2
+ elif [[ -n "$1" ]]; then
+ echo "lsn [--mem|-m]" >&2
+ return 1
else
if [[ -f ${LSN_MEMORY} ]]; then
- comm -1 -3 ${LSN_MEMORY} <(\ls)
- comm -2 -3 ${LSN_MEMORY} <(\ls) | while read line; do
+ comm -1 -3 ${LSN_MEMORY} <(\ls -pa | sort)
+ comm -2 -3 ${LSN_MEMORY} <(\ls -pa | sort) | while read line; do
echo "${VT_RED_FG}${VT_BOLD}${line}${VT_RESET} (missing)"
done
else
- echo "No lsn memory here." >&2
+ echo "No lsn state here." >&2
+ return 1
fi
fi
}