Enhancing the user experience with tcsh

Gavin Atkinson gavin.atkinson at ury.york.ac.uk
Fri Feb 10 15:39:05 UTC 2012


On Thu, 2012-02-09 at 19:52 -0500, Eitan Adler wrote:
> In conf/160689 (http://www.freebsd.org/cgi/query-pr.cgi?pr=160689)
> there has been some discussion about changing the default cshrc file.
> 
> I'd like to commit something like the following based on Chris's patch
> at the end of the thread. This post is an attempt to open the change
> to wider discussion.
> 
> commit dbe6cb730686dd53af7d06cc9b69b60e6e55549c
> diff --git a/etc/root/dot.cshrc b/etc/root/dot.cshrc
> --- a/etc/root/dot.cshrc
> +++ b/etc/root/dot.cshrc
> @@ -7,9 +7,10 @@
> 
>  alias h		history 25
>  alias j		jobs -l
> -alias la	ls -a
> +alias la	ls -aF
>  alias lf	ls -FA
> -alias ll	ls -lA
> +alias ll	ls -lAF
> +alias ls	ls -F

Please, no.

>  # A righteous umask
>  umask 22
> @@ -17,19 +18,24 @@ umask 22
>  set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin
> /usr/local/bin $HOME/bin)
> 
>  setenv	EDITOR	vi
> -setenv	PAGER	more
> +setenv	PAGER	less
>  setenv	BLOCKSIZE	K

Probably sensible.

>  if ($?prompt) then
>  	# An interactive shell -- set some stuff up
>  	set prompt = "`/bin/hostname -s`# "
>  	set filec
> -	set history = 100
> -	set savehist = 100
> +	set history = 10000
> +	set savehist = 10000
> +	set autolist

I think it'd be better for this to be "set autolist=ambiguous" - it
changes an accidental keypress into a deliberate choice, and matches
Linux a bit better.

> +	# Use history to aid expansion
> +	set autoexpand
>  	set mail = (/var/mail/$USER)
>  	if ( $?tcsh ) then
>  		bindkey "^W" backward-delete-word
>  		bindkey -k up history-search-backward
>  		bindkey -k down history-search-forward
>  	endif
> +	set prompt = "[%n@%m]%c04%# "
> +	set promptchars = "%#"
>  endif

I always override the prompt anyway.  My personal favourite is
set prompt="%B%n@`hostname -s`%b:%/ %h% "
but I see no real problem with the suggested prompt (although
set prompt = "%n@%m:%c04%# " 
would at least save one character.

Gavin



More information about the freebsd-current mailing list