ターミナル(osx)で検索された最近の「場所」(ディレクトリ)のリストを取得する方法はありますか?私は、端末を開いていくつかのコマンドを入力し、私が最近行った2〜3の場所を見つけてそこに行きたいということです。
最近のコマンドの矢印と同じです。
可能ですか?
答え1
シェルがzsh
(最新バージョンのmacosではデフォルト値であることがわかっています)、すべての場所を記憶させるオプションautopushd
(set -o autopushd
シェル内)を設定できます(現在の作業ディレクトリ、//変更)。~/.zshrc
zsh
cd
pushd
popd
これでスタックを見ることができます。
dirs
または、スタック内の各ディレクトリのインデックスを調べます。このインデックスは5番目のエントリに使用できます(配信された一番上の行は出力の現在のdirs -v
ディレクトリです)。cd +5
ls -ld ~+5
dirs
または:
print -rC1 $dirstack
($dirstack
現在の作業ディレクトリなしで配列のスタックを公開します。)
または、指示が有効になっている高度な補完機能があり(参照compinstall
)、完成リストが次の場所にある場合:
cd +<Tab>
または
cd -<Tab>
~-
またはそれ以降のコマンドについては、次のようにします~+
。
any cmd ~+<Tab>
例えば、
set -o autopushd
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' menu select=2
autoload -Uz compinit
compinit -i
で~/.zshrc
いくつかのディレクトリにアクセスしてダブルクリックすると、Tab次のメニューが表示されます。
% cd +1
Completing directory stack
[1 -- ~/Videos]
2 -- ~/Downloads
3 -- ~/
4 -- /usr
5 -- /tmp
矢印キーを使用してナビゲートできます。
ディレクトリスタック機能自体は zsh に限定されない。それと//それpushd
を操作するコマンドは1980年に導入され、popd
後でコピーされました(1989年に1.02)および(1990年に1.0)。 、また(1991年2.0のzshに加えられる)から。 /(1989)では、後で(1991)でコピーされ、(1996)で、後で(1997)でコピーされました。 Only(Silentのようにこのスタックで使用することもできます)は具体的で、完成フレームワークは時代をはるかに先行しており、現在です(しかし追いついています)。dirs
csh
bash
zsh
cd +5
cd -5
csh
~+
~-
bash
zsh
~+5
zsh
bash
autopushd
cd
pushd
zsh
bash
tcsh
fish