Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Second form of cd.



On Apr 13,  3:32pm, Larry P. Schrof wrote:
} Subject: Second form of cd.
}
} I am wondering if this an intentional feature or a bug.  I am running
} 3.1.5...

It's the intended behavior.  Interpret that as you will.

} When you type 'cd <old> <new>' on the command line, zsh replaces
} only the FIRST occurance of <old> in the directory. I've actually run
} into situations where <old> occurs more than once in $PWD, and I'd
} like <new> to replace this second occurance of old.

The way I usually deal with this is to disambiguate the replacement
string somehow.  E.g. suppose the two directories are

	~/src/package/src/subdir/
	~/src/package/build/subdir/

"cd src build" attempts to change to ~/build/package/src/subdir/, which
doesn't exist.  So instead I type something like

	cd src/s build/s

to force the match on the correct substring.

} I am requesting that <new> replace ALL occurances of <old> in $PWD, not
} just the first one.

That would, in many cases, be equally wrong.  The best solution for this
is

	cd $PWD:gs/new/old

On Apr 13,  5:07pm, Sweth Chandramouli wrote:
} Subject: Re: Second form of cd.
}
} 	along the same lines, the ^old^new form of history substitution
} replaces just the first instance of old.  perhaps a flag of some sort 
} (cd -g, maybe, for cd, and ^^old^new for history substitution?) could be
} added to indicate that global replacement should occur?

What's wrong with !!:gs/old/new ?  Horrors, four whole extra characters?

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com



Messages sorted by: Reverse Date, Date, Thread, Author