From: Francois Fleuret Date: Sun, 12 Dec 2010 19:38:54 +0000 (-0800) Subject: Better syntax for the control codes. X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=scripts.git;a=commitdiff_plain;h=0ac08580d5068bc343f757be0a6f8b2d8e370233 Better syntax for the control codes. --- diff --git a/bashrc b/bashrc index ac6d696..a2f7987 100644 --- a/bashrc +++ b/bashrc @@ -53,31 +53,40 @@ shopt -s histappend ###################################################################### ## The interactive part -export VT_RESET=$'\033[0m' -export VT_BOLD=$'\033[1m' -export VT_UNDERLINE=$'\033[4m' -export VT_BLINK=$'\033[5m' +export VT_RESET=$'\e[0m' +export VT_BOLD=$'\e[1m' +export VT_UNDERLINE=$'\e[4m' +export VT_BLINK=$'\e[5m' -export VT_SET_TITLE=$'\033]0;' +export VT_SET_TITLE=$'\e]0;' export VT_END_TITLE=$'\007' -export VT_BLACK_FG=$'\033[30m' -export VT_RED_FG=$'\033[31m' -export VT_GREEN_FG=$'\033[32m' -export VT_YELLOW_FG=$'\033[33m' -export VT_BLUE_FG=$'\033[34m' -export VT_MAGENTA_FG=$'\033[35m' -export VT_CYAN_FG=$'\033[36m' -export VT_WHITE_FG=$'\033[37m' - -export VT_BLACK_BG=$'\033[40m' -export VT_RED_BG=$'\033[41m' -export VT_GREEN_BG=$'\033[42m' -export VT_YELLOW_BG=$'\033[43m' -export VT_BLUE_BG=$'\033[44m' -export VT_MAGENTA_BG=$'\033[45m' -export VT_CYAN_BG=$'\033[46m' -export VT_WHITE_BG=$'\033[47m' +export VT_BLACK_FG=$'\e[30m' +export VT_RED_FG=$'\e[31m' +export VT_GREEN_FG=$'\e[32m' +export VT_YELLOW_FG=$'\e[33m' +export VT_BLUE_FG=$'\e[34m' +export VT_MAGENTA_FG=$'\e[35m' +export VT_CYAN_FG=$'\e[36m' +export VT_WHITE_FG=$'\e[37m' + +export VT_BLACK_BG=$'\e[40m' +export VT_RED_BG=$'\e[41m' +export VT_GREEN_BG=$'\e[42m' +export VT_YELLOW_BG=$'\e[43m' +export VT_BLUE_BG=$'\e[44m' +export VT_MAGENTA_BG=$'\e[45m' +export VT_CYAN_BG=$'\e[46m' +export VT_WHITE_BG=$'\e[47m' + +# Colorize man pages! + +export LESS_TERMCAP_us=${VT_GREEN_FG} +export LESS_TERMCAP_ue=${VT_RESET} +export LESS_TERMCAP_md=${VT_BLUE_FG}${VT_BOLD} +export LESS_TERMCAP_me=${VT_RESET} + +# export LESS_TERMCAP_md=$'\e[1;34;40m' # This prevents ^S from freezing the shell @@ -97,7 +106,7 @@ alias grep='grep -E --mmap' alias s='screen -d -R -U && clear' alias mc='echo Try mv ' # I'm fed up with midnight commander # alias kj="keyjnote -s -D 1000 -t Crossfade -T 100" -alias im="impressive -s -D 1000 -t Crossfade -T 100" +alias impressive="impressive -s -D 1000 -t Crossfade -T 100" # alias fdupes='fdupes -r .' @@ -179,6 +188,20 @@ function cdt () { alias t='cd /tmp' +function trash () { + TRASH=$(find /tmp/ -maxdepth 1 -mmin -15 -type d -name "trash-*" | sort | tail -1) + + if [[ ${TRASH} ]]; then + echo "Re-use ${TRASH}" + else + TRASH=$(date +/tmp/trash-%Y-%b-%d-%H_%M_%S) + mkdir ${TRASH} + echo "Created ${TRASH}:" + fi + + mv "$@" ${TRASH} +} + alias trash=trash.sh function mmsget () { @@ -329,7 +352,7 @@ function lr () { # You can change the xterm background color on the fly! function setxtermbg () { - echo -n $'\033]11;'$1$'\007' + echo -n $'\e]11;'$1$'\007' } ###################################################################### @@ -718,8 +741,6 @@ PS1="\[${VT_WHITE_BG}\]\${LOCAL_HISTORY_HINT}\[${VT_RESET}\]${PS1}" ###################################################################### # Switch off the history -alias nh=" export HISTFILE=/dev/null" - function histfile_cue () { if [[ ! "${HISTFILE}" == "${HOME}/.bash_history" ]]; then HISTORY_CUE="[${HISTFILE}]" @@ -763,19 +784,26 @@ function selector-history () { # Find pathes in the history and make a list of the existing ones +export CD_HISTORY=${HOME}/.selector-cd-history + function selector-cd () { - CD_HISTORY=${HOME}/.selector-cd-history - if [[ $1 == "+" ]]; then + if [[ "$1" == "+" ]]; then PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX) selector -d -i -o ${PATH_TEMP} ${CD_HISTORY} cd $(cat ${PATH_TEMP} | sed -e "s|~|${HOME}|") \rm ${PATH_TEMP} else - cd $1 && echo $PWD | sed -e "s|${HOME}|~|" >> ${CD_HISTORY} + if [[ -z "$1" ]]; then + cd + else + cd "$1" + fi + echo $PWD | sed -e "s|${HOME}|~|" >> ${CD_HISTORY} fi } alias cd=selector-cd +alias cdd="cd $(tail -1 ${CD_HISTORY})" # M-c provides a dynamic list of directories to cd into