標籤:style blog io color ar sp 檔案 div on
今天在微博上看到一個用命令列快速切換目錄的文章,比之前自己的解決方案好了非常多,必須記錄下來分享下。
每天在命令列下,一大部分的工作都是一遍又一遍的輸入 cd ~/some/very/deep/often-used/directory這樣來切換目錄,現在利用一個簡單的配置可以實現如下效果:
首先進入我的日常工作目錄,標記一個書籤mark sanguo
cd /Users/kimi/work/123guo/sanguo
|
| mark sanguo |
以後我再進入這個目錄只需要g sanguo即可
通過輸入gs指令來瀏覽所有的標籤
gs
|
#app -> /Applications
|
#sanguo -> /Users/kimi/work/123guo/sanguo
|
| #web -> /Library/WebServer/Documents |
實現原理如下
編輯/etc/profile檔案並在尾部添加以下內容後強制儲存 wq!
1 # mark 2 export MARKPATH=$HOME/.marks 3 export MARKDEFAULT=sanguo#設定你的預設書籤,可以直接輸入g跳轉 4 5 function g { 6 local m=$1 7 if [ "$m" = "" ]; then m=$MARKDEFAULT; fi 8 cd -P "$MARKPATH/$m" 2>/dev/null || echo "No such mark: $m" 9 }10 function mark {11 mkdir -p "$MARKPATH"12 local m=$113 if [ "$m" = "" ]; then m=$MARKDEFAULT; fi14 rm -f "$MARKPATH/$m"15 ln -s "$(pwd)" "$MARKPATH/$m"16 }17 function unmark {18 local m=$119 if [ "$m" = "" ]; then m=$MARKDEFAULT; fi20 rm -i "$MARKPATH/$m"21 }22 function gs {23 ls -l "$MARKPATH" | grep ^l | cut -d ‘ ‘ -f 13-24 }25 26 _completemarks() {27 local curw=${COMP_WORDS[COMP_CWORD]}28 local wordlist=$(ls -l "$MARKPATH" | grep ^l | cut -d ‘ ‘ -f 13)29 COMPREPLY=($(compgen -W ‘${wordlist[@]}‘ -- "$curw"))30 return 031 }32 33 complete -F _completemarks g unmark
文章路徑找不到,等找到之後添加
在命令列快速切換目錄(轉載)