From owner-freebsd-current@FreeBSD.ORG Fri Feb 10 07:14:34 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B932A1065670 for ; Fri, 10 Feb 2012 07:14:34 +0000 (UTC) (envelope-from wblock@wonkity.com) Received: from wonkity.com (wonkity.com [67.158.26.137]) by mx1.freebsd.org (Postfix) with ESMTP id 41C928FC08 for ; Fri, 10 Feb 2012 07:14:33 +0000 (UTC) Received: from wonkity.com (localhost [127.0.0.1]) by wonkity.com (8.14.5/8.14.5) with ESMTP id q1A6o61X059811; Thu, 9 Feb 2012 23:50:06 -0700 (MST) (envelope-from wblock@wonkity.com) Received: from localhost (wblock@localhost) by wonkity.com (8.14.5/8.14.5/Submit) with ESMTP id q1A6o6HO059808; Thu, 9 Feb 2012 23:50:06 -0700 (MST) (envelope-from wblock@wonkity.com) Date: Thu, 9 Feb 2012 23:50:06 -0700 (MST) From: Warren Block To: Gonzalo Nemmi In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (wonkity.com [127.0.0.1]); Thu, 09 Feb 2012 23:50:06 -0700 (MST) Cc: Chris Rees , Eitan Adler , freebsd-current Current , Colin Percival , "Wojciech A. Koszek" Subject: Re: Enhancing the user experience with tcsh X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Feb 2012 07:14:34 -0000 On Fri, 10 Feb 2012, Gonzalo Nemmi wrote: > On Thu, Feb 9, 2012 at 9:52 PM, 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. > 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. The question becomes "how much is too much?" For example, ever since a thread in the forums showed examples of csh/tcsh autocompletion, I've thought the default .cshrc should be stuffed with them. Not for typing reduction so much as self-documenting commands like complete chown 'p/1/u/' complete man 'C/*/c/' complete service 'n/*/`service -l`/' 'service' autocompletes with a list of services--it helps the user by showing valid choices. Same with 'chown', it gives a list of users. Then there's this, which probably isn't quite right but has been useful to me (thanks to forum members for help with it): complete make 'n@*@`make -pn | sed -n -E "/^[#_.\/[:blank:]]+/d; /=/d; s/[[:blank:]]*:.*//gp;"`@' That completes with all lower-case make targets for the current directory. Package operations are easier when the package names autocomplete: complete pkg_delete 'c/-/(i v D n p d f G x X r)/' \ 'n@*@`ls /var/db/pkg`@' complete 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/%%`@' There's lots more that could be done. Are they appropriate for a stock .cshrc? Maybe now is the time.