diff options
author | Matthew T Hoare | 2017-12-17 22:57:03 +0000 |
---|---|---|
committer | Matthew T Hoare | 2017-12-17 22:57:03 +0000 |
commit | ade4d1a8bf93d8df62bc76ff81c81d2466efaca0 (patch) | |
tree | 215cd904cee8c25ebb7c7ddd7aba53c25f6cb59f /sample.kshrc | |
download | aur-ade4d1a8bf93d8df62bc76ff81c81d2466efaca0.tar.gz |
ksh93-git: first commit
Diffstat (limited to 'sample.kshrc')
-rw-r--r-- | sample.kshrc | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/sample.kshrc b/sample.kshrc new file mode 100644 index 000000000000..ae6834b370d9 --- /dev/null +++ b/sample.kshrc @@ -0,0 +1,91 @@ +# This file contains examples of some of the things you may want to +# include in a user startup file. + +# skip this setup for non-interactive shells +[[ -o interactive && -t 0 ]] || return + +# disable core dumps +ulimit -c 0 + +# Environment variables. These could go in .profile if you prefer +export VISUAL=vi +export EDITOR=$VISUAL +export PAGER=less +export GZIP=-9 + +# set some shell options +set -o emacs -o trackall -o globstar + +# specify search path for autoloadable functions +FPATH=/usr/share/ksh/functions:~/.func + +# avoid certain file types in completion +FIGNORE='@(*.o|~*)' + +# save more commands in history +HISTSIZE=500 +HISTEDIT=$EDITOR + +# aliases for various command shortcuts +alias ll='ls -lFb' +alias la='ls -LaFb' +alias pu='ps -fu $USER' +alias md=mkdir +alias rd=rmdir + +# avoid problems with long argument lists for some commands (like xargs) +alias cp='command -x cp' mv='command -x mv' grep='command -x grep' + +# some short functions + +# empty line +empty() { echo $'\e[3J'; } + +# man page viewer +mere() { nroff -man -Tman $1 | ${MANPAGER:-less}; } + +# view/manipulate and export environment variables +setenv() { + case $# in + 0) export ;; + 1) export "$1"= ;; + *) export "$1"="$2" ;; + esac + } + +# Use keyboard trap to map keys to other keys +# note that escape sequences vary for different terminals so these +# may not work for you +trap '.sh.edchar=${keymap[${.sh.edchar}]:-${.sh.edchar}}' KEYBD +keymap=( + [$'\eOD']=$'\eb' # Ctrl-Left -> move word left + [$'\eOC']=$'\ef' # Ctrl-Right -> move word right + [$'\e[3~']=$'\cd' # Delete -> delete to right + [$'\e[1~']=$'\ca' # Home -> move to beginning of line + [$'\e[4~']=$'\ce' # End -> move to end of line +) + +# keep a shortened version of the current directory for the prompt +function _cd { + typeset -n dir=HOME + + "cd" "$@" + + if [[ $PWD = $HOME* && $HOME != / ]]; then + _pwd=\~${PWD#$HOME} + return + fi + + for dir in JAVA_HOME GNOMEDIR; do + if [[ -n $dir && $PWD = $dir* ]]; then + _pwd="\$${!dir}${PWD#$dir}" + return + fi + done + _pwd="$PWD" +} +alias cd=_cd +_cd . + +# put the current directory and history number in the prompt +PS1='$_pwd [!]\$ ' |