ジッシュ:5.6.2
私はArchwikiのdirstackを使います:https://wiki.archlinux.org/index.php/zsh#Dirstack
スクリプトのすべてがオンにsetopt
なっており、スクリプトはから始まります~/.zshrc
。
以前は動作し、何とかインデックスをに変更しました0
。 afaik zshの配列は1から始める必要があります。
現在予期しない出力0
:
dirs -v
0 ~/.cache/downloads/documents
1 ~
2 ~/.cache/zsh
3 ~/.zsh/scripts
CDをお試しください
cd -<tab>
0 -- ~/.zsh/scripts
1 -- ~/.cache/zsh
2 -- ~
1を選択すると、~/.cache/zshの代わりに~/.zsh/scriptsに移動します。
答え1
以下は~
zsh配列変数のインデックスではありません。バラより
info zsh 'Filename Expansion'
'~'自体は$ HOME値に置き換えられます。 '+' または '-' の後に続く '~' は、それぞれ現在または前の作業ディレクトリに置き換えられます。
"〜"の後に数字が続くと、ディレクトリスタックの対応する場所にあるディレクトリに置き換えられます。 '~0' は '~+' と同じで、 '~1' はスタックの最上位です。 "〜+"の後に数字が続くと、ディレクトリスタックの対応する場所にあるディレクトリに置き換えられます。 '~+0' は '~+' と同じで、 '~+1' はスタックの最上位です。 '~-' の後の数字は、スタックの下部にある複数の場所にあるディレクトリに置き換えられます。 '~-0' はスタックの一番下です。 PUSHD_MINUS オプションは、後に数字が続く「~+」と「~-」の効果を置き換えます。
実際には、ksh_arrays
またはpushd_minus
オプションを有効にしないと、同じコンテンツ、同じコンテンツ、および同じコンテンツに展開しながら同じコンテンツ~1
に展開されます。$dirstack[1]
~0
$PWD
~-0
$dirstack[-1]
~-1
$dirstack[-2]