## 事象
`cd` でディレクトリ移動しても `zi` の履歴に移動したパスが表示されない。もちろん通常の `zoxide` コマンドなども駄目。
[[Microsoft.PowerShell_profile.ps1]]は以下。
```powershell
# 中略
#-----------------------------------------------------
# Zoxide
#-----------------------------------------------------
Invoke-Expression (& {
$hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' }
(zoxide init --hook $hook powershell | Out-String)
})
#-----------------------------------------------------
# Starship
#-----------------------------------------------------
Invoke-Expression (&starship init powershell)
```
### 環境
| 対象 | バージョン |
| -------------- | ---------- |
| [[Windows 11]] | 10.0.26100 |
| [[PowerShell]] | 7.5.2 |
| [[zoxide]] | 0.9.8 |
## 原因
設定ファイルの書き方が間違っていたから。(古い?)
## 解決方法
内容もそうだが **設定ファイルの一番最後に書く** ことが重要っぽい。[[Starship]]の設定より前に書いたら上手くいかなかった。
```powershell
# 中略
#-----------------------------------------------------
# Starship
#-----------------------------------------------------
Invoke-Expression (&starship init powershell)
#-----------------------------------------------------
# Zoxide
#-----------------------------------------------------
Invoke-Expression (& { (zoxide init powershell | Out-String) })
```
公式ドキュメントでも **end** が強調されている。
![[2025-08-17-01-38-31.avif]]
## 参考
- [zoxide - crates.io: Rust Package Registry](https://crates.io/crates/zoxide)