zshの現在のディレクトリからディレクトリ部分を削除する

zshの現在のディレクトリからディレクトリ部分を削除する

/usr/local/binCDを使用しましたが、パスワードをに変更したいとします/usr/bin。 zshを使ってこれを行うにはどうすればよいですか?私は自分のパスワードをに変更するために次cd /a/b/のことを行うことができることを知っていますが、あなたが望むものをどのように実行するのかわかりません。cd b c/a/b

答え1

zshの柔軟な機能を考慮すると、cd要件を満たす方法は少なくとも3つあります。cd /usr/local /usrまたはcd local /またはを書くことができますcd local/bin bin。人々はより多くの解決策を思い出すことができます。

cdzshの構文はですcd OLD NEW。このコマンドは、$PWDあなたの構文と一致し、OLD一致する部分をNEWcd現在のディレクトリに基づいて動作することを覚えておく必要があります。したがって、zshcd /usr/local usrで作成すると、/usr/local/binそのディレクトリが存在しないため、エラーが発生します/usr/local/bin/usr/bin。常にスラッシュに注意してください。

答え2

あなたはそれを使用することができます2つのパラメータ形式cd現在の作業ディレクトリの部分文字列を置き換えます。たとえば、削除するには、/local次のようにします。

cd /local ''

cd /local /複数のスラッシュを使用しても差がないため(結果は二重/usr//binスラッシュが単一のスラッシュに縮小されます)、またはcd local /(結果も)書き込むこともできます/usr//bin

別の方法は、コマンドラインバージョンを使用することです。デフォルト設定を使用してcd $PWDコマンドラインに入力し、キーを押しますTab。変数置換は、必要に応じて編集できる変数値に置き換えられます。以下に最初に作成するsetopt auto_cd必要はありません。cd設定によって変数が拡張されない場合は、代わりにTabzle関数を呼び出すキーを使用してください。expand-or-completecomplete-word

関連情報