112330831SEitan Adler# Here are some example (t)csh options and configurations that you may find interesting 212330831SEitan Adler# 312330831SEitan Adler# 412330831SEitan Adler 512330831SEitan Adler# Sets SSH_AUTH_SOCK to the user's ssh-agent socket path if running 64ea96942SEitan Adler# 74ea96942SEitan Adler# This has a couple caveats, the most notable being that if a user 84ea96942SEitan Adler# has multiple ssh-agent(1) processes running, this will very likely 94ea96942SEitan Adler# set SSH_AUTH_SOCK to point to the wrong file/domain socket. 1012330831SEitan Adlerif (${?SSH_AUTH_SOCK} != "1") then 11d14a50d9SChristian Brueffer setenv SSH_AUTH_SOCK `sockstat -u | awk '/^${USER}.+ ssh-agent/ { print $6 }'` 1212330831SEitan Adlerendif 1312330831SEitan Adler 1412330831SEitan Adler# Change only root's prompt 15d14a50d9SChristian Bruefferif (`id -g` == 0) then 1612330831SEitan Adler set prompt="root@%m# " 1712330831SEitan Adlerendif 1812330831SEitan Adler 1912330831SEitan Adler# This maps the "Delete" key to do the right thing 2012330831SEitan Adler# Pressing CTRL-v followed by the key of interest will print the shell's 2112330831SEitan Adler# mapping for the key 2212330831SEitan Adlerbindkey "^[[3~" delete-char-or-list-or-eof 2312330831SEitan Adler 2412330831SEitan Adler# Make the Ins key work 2512330831SEitan Adlerbindkey "\e[2~" overwrite-mode 2612330831SEitan Adler 27dd4b1ae7SEitan Adler# Some common completions 28dd9de309SEitan Adlercomplete cd 'p/1/d/' 29dd4b1ae7SEitan Adlercomplete chown 'p/1/u/' 30dd4b1ae7SEitan Adlercomplete dd 'c/[io]f=/f/ n/*/"(if of ibs obs bs skip seek count)"/=' 31dd9de309SEitan Adlercomplete find 'n/-fstype/"(nfs 4.2)"/' 'n/-name/f/' \ 32dd9de309SEitan Adler 'n/-type/(c b d f p l s)/' \ 33dd9de309SEitan Adler 'n/-user/u/ n/-group/g/' \ 34dd9de309SEitan Adler 'n/-exec/c/' 'n/-ok/c/' \ 35dd9de309SEitan Adler 'n/-cpio/f/' \ 36dd9de309SEitan Adler 'n/-ncpio/f/' \ 37dd9de309SEitan Adler 'n/-newer/f/' \ 38dd9de309SEitan Adler 'c/-/(fstype name perm prune type user nouser group nogroup size inum atime mtime ctime exec \ 39dd9de309SEitan Adler ok print ls cpio ncpio newer xdev depth daystart follow maxdepth mindepth noleaf version \ 40dd9de309SEitan Adler anewer cnewer amin cmin mmin true false uid gid ilname iname ipath iregex links lname empty path \ 41dd9de309SEitan Adler regex used xtype fprint fprint0 fprintf print0 printf not a and o or)/' \ 42dd9de309SEitan Adler 'n/*/d/' 43dd9de309SEitan Adlercomplete fg 'c/%/j/' 44dd9de309SEitan Adlercomplete gpart 'p/1/(add backup bootcode commit create delete destroy modify recover resize restore set show undo unset)/' \ 45dd9de309SEitan Adler 'n/add/x:-t type [-a alignment] [-b start] [-s size] [-i index] [-l label] -f flags geom/' \ 46dd9de309SEitan Adler 'n/backup/x:geom/' \ 47dd9de309SEitan Adler 'n/bootcode/x:[-b bootcode] [-p partcode -i index] [-f flags] geom/' \ 48dd9de309SEitan Adler 'n/commit/x:geom/' \ 49dd9de309SEitan Adler 'n/create/x:-s scheme [-n entries] [-f flags] provider/' \ 50dd9de309SEitan Adler 'n/delete/x:-i index [-f flags] geom/' \ 51dd9de309SEitan Adler 'n/destroy/x:[-F] [-f flags] geom/' \ 52dd9de309SEitan Adler 'n/modify/x:-i index [-l label] [-t type] [-f flags] geom/' \ 53dd9de309SEitan Adler 'n/recover/x:[-f flags] geom/' \ 54dd9de309SEitan Adler 'n/resize/x:-i index [-a alignment] [-s size] [-f flags] geom/' \ 55dd9de309SEitan Adler 'n/restore/x:[-lF] [-f flags] provider [...]/' \ 56dd9de309SEitan Adler 'n/set/x:-a attrib -i index [-f flags] geom/' \ 57dd9de309SEitan Adler 'n/show/x:[-l | -r] [-p] [geom ...]/' \ 58dd9de309SEitan Adler 'n/undo/x:geom/' \ 59dd9de309SEitan Adler 'n/unset/x:-a attrib -i index [-f flags] geom/' 60dd9de309SEitan Adlercomplete grep 'c/-*A/x:<#_lines_after>/' \ 61dd9de309SEitan Adler 'c/-*B/x:<#_lines_before>/' \ 62dd9de309SEitan Adler 'c/--/(extended-regexp fixed-regexp basic-regexp regexp file ignore-case word-regexp line-regexp \ 63dd9de309SEitan Adler no-messages revert-match version help byte-offset line-number with-filename no-filename quiet silent \ 64dd9de309SEitan Adler text directories recursive files-without-match files-with-matches count before-context after-context \ 65dd9de309SEitan Adler context binary unix-byte-offsets)/' \ 66dd9de309SEitan Adler 'c/-/(A a B b C c d E e F f G H h i L l n q r s U u V v w x)/' \ 67dd9de309SEitan Adler 'p/1/x:<limited_regular_expression>/ N/-*e/f/' \ 68dd9de309SEitan Adler 'n/-*e/x:<limited_regular_expression>/' \ 69dd9de309SEitan Adler 'n/-*f/f/' \ 70dd9de309SEitan Adler 'n/*/f/' 71dd9de309SEitan Adlercomplete ifconfig 'p@1@`ifconfig -l`@' \ 72d14a50d9SChristian Brueffer 'n/*/(range phase link netmask mtu vlandev vlan metric mediaopt down delete broadcast arp debug)/' \ 73dd9de309SEitan Adler 'c/%/j/' \ 74dd9de309SEitan Adler 'n/*/`ps -ax | awk '"'"'{print $1}'"'"'`/' 75dd4b1ae7SEitan Adlercomplete kill 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $1}'"'"'`/' 76dd4b1ae7SEitan Adlercomplete killall 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $5}'"'"'`/' 77dd9de309SEitan Adlercomplete kldload 'n@*@`ls -1 /boot/modules/ /boot/kernel/ | awk -F/ \$NF\ \~\ \".ko\"\ \{sub\(\/\.ko\/,\"\",\$NF\)\;print\ \$NF\}`@' 78dd4b1ae7SEitan Adlercomplete kldunload 'n@*@`kldstat | awk \{sub\(\/\.ko\/,\"\",\$NF\)\;print\ \$NF\} | grep -v Name`@' 79dd9de309SEitan Adlercomplete make 'p@1@`make -pn | sed -n -E "/^[#_.\/[:blank:]]+/d; /=/d; s/[[:blank:]]*:.*//gp;"`@' \ 80dd9de309SEitan Adler 'n@-V@`make -ndv | & grep Global: | sed -E -e "s/^Global://" -e "s/ .*//" -e "/^[[:lower:]]/d" | sort | uniq`@' 81dd4b1ae7SEitan Adlercomplete man 'C/*/c/' 82dd9de309SEitan Adlercomplete netstat 'n@-I@`ifconfig -l`@' 83dd4b1ae7SEitan Adlercomplete pkg_delete 'c/-/(i v D n p d f G x X r)/' 'n@*@`ls /var/db/pkg`@' 84dd4b1ae7SEitan Adlercomplete pkg_info 'c/-/(a b v p q Q c d D f g i I j k K r R m L s o G O x X e E l t V P)/' 'n@*@`\ls -1 /var/db/pkg | sed s%/var/db/pkg/%%`@' 85dd9de309SEitan Adlercomplete ping 'p/1/$hosts/' 86dd9de309SEitan Adlercomplete pkill 'c/-/S/' \ 87dd9de309SEitan Adler 'n@*@`ps -axc -o command="" | sort | uniq`@' 88dd9de309SEitan Adlercomplete portmaster 'c/--/(always-fetch check-depends check-port-dbdir clean-distfiles clean-packages delete-build-only \ 89dd9de309SEitan Adler delete-packages force-config help index index-first index-only list-origins local-packagedir \ 90dd9de309SEitan Adler no-confirm no-index-fetch no-term-title packages packages-build packages-if-newer packages-local \ 91dd9de309SEitan Adler packages-only show-work update-if-newer version)/' \ 9212330831SEitan Adler 'c/-/(a b B C d D e f F g G h H i l L m n o p r R s t u v w x)/' \ 93dd9de309SEitan Adler 'n@*@`pkg_info -E \*`@' 94dd9de309SEitan Adlercomplete rsync "c,*:/,F:/," \ 95dd9de309SEitan Adler "c,*:,F:$HOME," \ 96dd9de309SEitan Adler 'c/*@/$hosts/:/' 97dd9de309SEitan Adlercomplete scp "c,*:/,F:/," \ 98dd9de309SEitan Adler "c,*:,F:$HOME," \ 99dd9de309SEitan Adler 'c/*@/$hosts/:/' 100*1980d11bSLars Engelscomplete service 'c/-/(e l r v)/' 'p/1/`service -l`/' 'n/*/(start stop reload restart status rcvar describe extracommands onestart onestop oneextracommands)/' 101dd9de309SEitan Adlercomplete svn 'C@file:///@`'"${HOME}/etc/tcsh/complete.d/svn"'`@@' \ 102dd9de309SEitan Adler 'n@ls@(file:/// svn+ssh:// svn://)@@' \ 103dd9de309SEitan Adler 'n@help@(add blame cat checkout cleanup commit copy delete export help import info list ls lock log merge mkdir move propdel \ 104dd9de309SEitan Adler propedit propget proplist propset resolved revert status switch unlock update)@' 'p@1@(add blame cat checkout cleanup commit \ 105dd9de309SEitan Adler copy delete export help import info list ls lock log merge mkdir move propdel propedit propget proplist propset resolved \ 106dd9de309SEitan Adler revert status switch unlock update)@' 107dd9de309SEitan Adlercomplete ssh 'p/1/$hosts/' \ 108dd9de309SEitan Adler 'c/-/(l n)/' \ 109dd9de309SEitan Adler 'n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/' 110dd4b1ae7SEitan Adlercomplete sysctl 'n/*/`sysctl -Na`/' 111dd9de309SEitan Adlercomplete tmux 'n/*/(attach detach has kill-server kill-session lsc lscm ls lockc locks new refresh rename showmsgs source start suspendc switchc)/' 112dd9de309SEitan Adlercomplete which 'C/*/c/' 113dd9de309SEitan Adler 114dd9de309SEitan Adlerif ( -f /etc/printcap ) then 115dd9de309SEitan Adler set printers=(`sed -n -e "/^[^ #].*:/s/:.*//p" /etc/printcap`) 116dd9de309SEitan Adler complete lpr 'c/-P/$printers/' 117dd9de309SEitan Adler complete lpq 'c/-P/$printers/' 118dd9de309SEitan Adler complete lprm 'c/-P/$printers/' 119dd9de309SEitan Adlerendif 12012330831SEitan Adler 12112330831SEitan Adler# Alternate prompts 12212330831SEitan Adlerset prompt = '#' 12312330831SEitan Adlerset prompt = '%B%m%b%# ' 12412330831SEitan Adlerset prompt = '%B%m%b:%c03:%# ' 12512330831SEitan Adlerset prompt = '%{\033]0;%n@%m:%/\007%}%B%m%b:%c03:%# ' 12612330831SEitan Adlerset prompt = "%n@%m %c04%m%# " 12712330831SEitan Adlerset prompt = "%n@%m:%c04 %# " 12812330831SEitan Adlerset prompt = "[%n@%m]%c04%# " 12912330831SEitan Adlerset ellipsis 13012330831SEitan Adler 13112330831SEitan Adler# Color ls 13212330831SEitan Adleralias ll ls -lAhG 13312330831SEitan Adleralias ls ls -G 13412330831SEitan Adler 13566c1ef4aSEitan Adler# Color on many system utilities 13666c1ef4aSEitan Adlersetenv CLICOLOR 1 13766c1ef4aSEitan Adler 13812330831SEitan Adler# other autolist options 13912330831SEitan Adlerset autolist = TAB 140