Enhancing the user experience with tcsh

Gonzalo Nemmi gnemmi at gmail.com
Fri Feb 10 03:56:57 UTC 2012


On Thu, Feb 9, 2012 at 9:52 PM, Eitan Adler <lists at eitanadler.com> 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
>
>  # 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
>
>  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
> +       # 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
>

In the same line that Wojciech on the PR ".cshrc should be updated for
modern hardware" I always set this ones on /usr/share/skel/dot.cshrc

bindkey "\e[1~" beginning-of-line #make Home key work;
bindkey "\e[2~" overwrite-mode #make Ins key work;
bindkey "\e[3~" delete-char #make Delete key work;
bindkey "\e[4~" end-of-line #make End key work;

Besides that I add an "if [ -d $HOME/bin ]" and add it to $PATH if it
exists, but that has nothing to do with ".cshrc should be updated for
modern hardware" ... it jsut comes in really handy.

my 2 cents


More information about the freebsd-current mailing list