2015-12-31 136 views
2

在zsh中,有一個選項可以將每個訪問目錄自動推送到目錄棧(setopt auto_pushd),由dirs表示。我只是轉向魚,並認識到沒有這種默認選項。此外,當試圖訪問dirs時,它僅填充了當前輸出pwd。是否有可能在魚類中實現這種行爲?魚殼目錄棧

當然,可以選擇編寫一個自己的cd函數,以便每次你進入一個文件夾時調用pushd,但是因爲我也在使用路徑作爲命令來切換目錄, 。

所以基本上每次我當前的工作目錄發生變化時都可以調用一個函數?

回答

4

每次都可以運行一個功能目錄的變化,就像這樣:

function myfunc --on-variable PWD 
    echo Changed! 
end 

但是!魚的cd默認是一個管理目錄堆棧的函數包裝器。 (您可以通過運行functions cd來查看它的內容。)

您可以使用prevdnextd在您的目錄歷史記錄中前後移動。還有簡寫cd -跳轉到你所在的最後一個目錄。

+0

好吧,聽起來不錯。是的,我知道這些功能,但在我以前的zsh設置中,我將數字鍵映射到歷史記錄中的最後一個目錄 – hGen

+0

魚支持使用'bind'映射鍵,所以您應該可以複製它。請參閱'男人綁定'瞭解更多。 –