xref: /freebsd/contrib/tcsh/dot.tcshrc (revision 5224c2a3bc95b431f729f3692f264395248d8acc)
1*5224c2a3SDmitry Chagin#
2*5224c2a3SDmitry Chagin# ~/.tcshrc - Setup user shell environment
3*5224c2a3SDmitry Chagin#
4*5224c2a3SDmitry Chagin# See also tcsh(1), environ(7).
5*5224c2a3SDmitry Chagin#
6*5224c2a3SDmitry Chagin
7*5224c2a3SDmitry Chaginunalias *
8*5224c2a3SDmitry Chagin
9*5224c2a3SDmitry Chaginalias	h	'history \!* 20'
10*5224c2a3SDmitry Chaginalias	j	'jobs -l'
11*5224c2a3SDmitry Chaginalias	ll	'ls -lAF'
12*5224c2a3SDmitry Chaginalias	md	mkdir
13*5224c2a3SDmitry Chaginalias	rd	rmdir
14*5224c2a3SDmitry Chagin
15*5224c2a3SDmitry Chagin#
16*5224c2a3SDmitry Chagin# The following commands are only for interactive shells.
17*5224c2a3SDmitry Chagin#
18*5224c2a3SDmitry Chagin
19*5224c2a3SDmitry Chaginif ( $?prompt ) then
20*5224c2a3SDmitry Chagin  set \
21*5224c2a3SDmitry Chagin    autocorrect \
22*5224c2a3SDmitry Chagin    autoexpand \
23*5224c2a3SDmitry Chagin    autolist=ambiguous \
24*5224c2a3SDmitry Chagin    correct=cmd \
25*5224c2a3SDmitry Chagin    ellipsis \
26*5224c2a3SDmitry Chagin    filec \
27*5224c2a3SDmitry Chagin    history=1000 \
28*5224c2a3SDmitry Chagin    killdup=erase \
29*5224c2a3SDmitry Chagin    listjobs=long \
30*5224c2a3SDmitry Chagin    listlinks \
31*5224c2a3SDmitry Chagin    listmax=100 \
32*5224c2a3SDmitry Chagin    nobeep \
33*5224c2a3SDmitry Chagin    prompt='%N@%m:%B%c02%b%# ' \
34*5224c2a3SDmitry Chagin    rmstar \
35*5224c2a3SDmitry Chagin    savehist=(1000 merge) \
36*5224c2a3SDmitry Chagin
37*5224c2a3SDmitry Chagin  unset promptchars
38*5224c2a3SDmitry Chagin
39*5224c2a3SDmitry Chagin  if ( $?tcsh ) then
40*5224c2a3SDmitry Chagin    bindkey -e
41*5224c2a3SDmitry Chagin
42*5224c2a3SDmitry Chagin    bindkey " " magic-space
43*5224c2a3SDmitry Chagin    bindkey ^W backward-delete-word
44*5224c2a3SDmitry Chagin    bindkey ^Z run-fg-editor
45*5224c2a3SDmitry Chagin    bindkey ^[^W kill-region
46*5224c2a3SDmitry Chagin
47*5224c2a3SDmitry Chagin    #
48*5224c2a3SDmitry Chagin    # Setup $hosts from ~/.hosts, ~/.rhosts, ~/.ssh/known_hosts
49*5224c2a3SDmitry Chagin    #
50*5224c2a3SDmitry Chagin
51*5224c2a3SDmitry Chagin    if ( ! $?hosts ) then
52*5224c2a3SDmitry Chagin      set hosts=()
53*5224c2a3SDmitry Chagin      foreach f ( ~/.{,r,ssh/known_}hosts )
54*5224c2a3SDmitry Chagin	if ( -r "$f" ) then
55*5224c2a3SDmitry Chagin	  set hosts=( \
56*5224c2a3SDmitry Chagin	    $hosts \
57*5224c2a3SDmitry Chagin	    `sed \
58*5224c2a3SDmitry Chagin	      -e 's/#.*//' \
59*5224c2a3SDmitry Chagin	      -e '/^|/d' \
60*5224c2a3SDmitry Chagin	      -e '/^[+-]@/d' \
61*5224c2a3SDmitry Chagin	      -e 's/^[+-]//' \
62*5224c2a3SDmitry Chagin	      -e 's/[[:space:]].*$//' \
63*5224c2a3SDmitry Chagin	      -e 's/,/\n/g' \
64*5224c2a3SDmitry Chagin	      "$f" \
65*5224c2a3SDmitry Chagin	    | sed \
66*5224c2a3SDmitry Chagin	      -e 's/:[[:digit:]]*$//' \
67*5224c2a3SDmitry Chagin	      -e 's/^\[\([^]]*\)\]$/\1/' \
68*5224c2a3SDmitry Chagin	      -e '/^[.:[:xdigit:][:space:]]*$/d' \
69*5224c2a3SDmitry Chagin	    ` \
70*5224c2a3SDmitry Chagin	  )
71*5224c2a3SDmitry Chagin	endif
72*5224c2a3SDmitry Chagin      end
73*5224c2a3SDmitry Chagin      unset f
74*5224c2a3SDmitry Chagin    endif
75*5224c2a3SDmitry Chagin
76*5224c2a3SDmitry Chagin    uncomplete *
77*5224c2a3SDmitry Chagin
78*5224c2a3SDmitry Chagin    #
79*5224c2a3SDmitry Chagin    # Copy from complete.tcsh
80*5224c2a3SDmitry Chagin    #
81*5224c2a3SDmitry Chagin    if ( -r ~/.complete ) source ~/.complete
82*5224c2a3SDmitry Chagin
83*5224c2a3SDmitry Chagin    uncomplete rcp rsh
84*5224c2a3SDmitry Chagin  endif
85*5224c2a3SDmitry Chagin
86*5224c2a3SDmitry Chagin  #
87*5224c2a3SDmitry Chagin  # Set status to ^G in order to keep using ^T for transpose-char.
88*5224c2a3SDmitry Chagin  #
89*5224c2a3SDmitry Chagin
90*5224c2a3SDmitry Chagin  switch ( "$OSTYPE" )
91*5224c2a3SDmitry Chagin  case bsd44:
92*5224c2a3SDmitry Chagin  case darwin:
93*5224c2a3SDmitry Chagin  case FreeBSD:
94*5224c2a3SDmitry Chagin  case NetBSD:
95*5224c2a3SDmitry Chagin    stty status ^G
96*5224c2a3SDmitry Chagin    if ( $?tcsh ) bindkey ^G stuff-char
97*5224c2a3SDmitry Chagin    breaksw
98*5224c2a3SDmitry Chagin  endsw
99*5224c2a3SDmitry Chagin
100*5224c2a3SDmitry Chagin  #
101*5224c2a3SDmitry Chagin  # We don't want to create a root-owned files in our home.
102*5224c2a3SDmitry Chagin  #
103*5224c2a3SDmitry Chagin
104*5224c2a3SDmitry Chagin  if ( $uid == 0 ) then
105*5224c2a3SDmitry Chagin    unset savehist
106*5224c2a3SDmitry Chagin    setenv LESSHISTFILE -
107*5224c2a3SDmitry Chagin    setenv VIMINIT ':set viminfo='
108*5224c2a3SDmitry Chagin  endif
109*5224c2a3SDmitry Chagin
110*5224c2a3SDmitry Chaginendif
111