
最近使い始めたcdr
最近のディレクトリを記憶するために をzsh
使用します。以前は などを使用していましたpushd
。 が恋しいのは です。popd
これは基本的に「このディレクトリの使用は終了しました。以前いた場所に戻して、スタック内のこのエントリを削除します。」という意味です。
同様のセマンティクスを で実行できますかcdr
?
編集: 「history」を「stack」に変更します。
答え1
入力できます
cdr -p $PWD
そしてcdr
プルーンリストから現在いるディレクトリを削除します。別のディレクトリを削除するには、$PWD
削除したいディレクトリの絶対パス名に置き換えます。または、ディレクトリのセット全体を削除したい場合は、引数に glob パターンを使用することもできます。cdr -p
変更を行う前に、アクションの結果が表示され、確認を求められます。そのため、「誤ってすべてを削除してしまう」心配はありません。http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Options-2詳細については。
前のディレクトリに戻るには、
cd -
これら両方を関数内で組み合わせることができます。
cdpop() {
local dir=$PWD
# `cdr` without arguments does the same `cdr 1`: Go back to the previous
# dir.
cdr
# `-P` does the same as `-p`, but is silent and doesn't ask for
# confirmation.
cdr -P $dir
}
ちなみに、コマンドcdr
を実行するように設定することもできますcd
。これを有効にするには、ファイルに次の内容を追加します~/.zshrc
。
zstyle ':chpwd:*' recent-dirs-default true
すると、 に渡した引数cdr
のうち に固有でないものは、代わりcdr
に に渡されます。 または のどちらを使用するかcd
を考える必要はなく、常にすべてに を使用できます。cd
cdr
cdr
http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Configuration-2詳細については。
私が懐かしく思うことの 1 つは
popd
、基本的に「このディレクトリの使用は終了しました。以前いた場所に戻して、履歴内のこのエントリを削除してください」という意味の です。
小さな修正:popd
ディレクトリを削除しません歴史、それはそれを削除しますディレクトリスタック。