Command-Line

在命令行中切換到下一個/上一個目錄的快速方法

  • October 12, 2020

考慮一個包含子目錄sub1,sub2等的目錄sub3

現在考慮一下我所處的情況sub3並想切換到sub4,我做了類似的事情cd ../sub4。但是,我想要next切換到“下一個”目錄並prev切換到前一個目錄,其中的順序應該是字母數字(並且可以選擇按mtime)。也許這也可以綁定到一個方便的鍵盤快捷鍵。

例如,next當你在時使用會sub3帶你到sub4等。

是否有任何內置功能zsh或任何工具可以開箱即用地獲得類似的東西?

您可以定義cdprevcdnext功能,如:

cdnext cdprev() {
 local dirs i
 dirs=(${PWD%/*}/*(nN-/))

 if (($#dirs <= 1)); then
   print -ru2 No other dir in $PWD:h
   return 1
 fi

 i=$dirs[(Ie)$PWD]
 if [[ $0 = cdnext ]]; then
   ((i++))
 else
   ((i--))
 fi
 ((i <= $#dirs)) || i=1
 ((i >= 1 ))     || i=-1

 print -ru2 $0: ${(D)dirs[i]}
 cd $dirs[i]
}

引用自:https://unix.stackexchange.com/questions/614015