X-Spam-Check-By: sourceware.org From: ericblake AT comcast DOT net (Eric Blake) To: "Williams, Gerald S (Jerry)" , cygwin AT cygwin DOT com Cc: Alireza Ghasemi Subject: RE: syntax highlighting in vim Date: Wed, 23 Nov 2005 16:21:01 +0000 Message-Id: <112320051621.13317.438496EC000DB0B50000340522070208530A050E040D0C079D0A@comcast.net> Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com > > The use of a trailing space in the alias controls > > whether the next word on the command line will also > > be subject to alias expansion; > > True, but I prefer not to make assumptions about how > people are using aliases. The space at the end of the > alias makes it behave like the unaliased ls in that > regard. Wrong again - alias expansion in bash starts ONLY at the first word, and only progresses on to the next word if the current alias expansion ended in a space. So if ls is not aliased, the second word is never even checked for alias expansion. Therefore, putting a space at the end of an alias for ls actually maked ls behave DIFFERENTLY than the unaliased version, since it is now telling bash to alias expand the next argument. $ cd /tmp $ touch file $ alias ls bash: alias: ls: not found $ alias file=oops $ ls file file $ alias ls='ls ' $ ls file ls: oops: No such file or directory $ \ls file file Furthermore, in 99.9% of the cases, a shell function can do the same thing as an alias. $ unalias ls $ ls() { command ls --color=auto "$@" } $ The exceptional cases are when you do funky things like those mentioned in http://www.chiark.greenend.org.uk/~sgtatham/aliases.html. I kind of like this hack that makes find temporarily supress globbing, so that I can type "find -name *.c" instead of "find -name '*.c'": alias find='_find() { command find "$@"; set +f; }; set -f; _find' -- Eric Blake volunteer cygwin bash maintainer -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/