常用 Terminal 處理工作的人經常都會碰到一個問題:在 Terminal 下要切換工作路徑時通常都要打一大堆字,就算用滑鼠拖曳檔案到 Terminal 視窗補完路徑,還是很麻煩。網路上有一些小工具,可以讓你從 Finder 視窗直接開啟 Terminal,但是都不好用。目前我使用的是 DTerm,這個小工具用來作一些簡單工作還 OK,比較複雜的工作例如 build 程式,就不適合了。
剛剛在 MacUpdate 閒逛想要找個好用的 Terminal 工具時,無意間發現有人在評論中提供了一個免錢的解決方案:用命令列發 Apple Event 查詢 Finder 目前開啟的視窗。用他提供的程式碼測試了一下,卻發現有問題:只有 Terminal 第一次開啟的時候有效、而且如果路徑裡面有空白就會發生錯誤。
花了一整個下午測試除錯,終於完成了一個可用的版本:
alias cdf="eval \\"cd \\\"\\\`osascript -e 'tell app \\\\\\\"Finder\\\\\\\" to return the POSIX path of (target of window 1 as alias)'\\\`\\\"\""
注意 "Finder" 這個字的前後一共有七個反斜線。
把上面那一整行複製,插入 ~/.bashrc,之後在任何一個 bash session 輸入 "cdf" 命令,就會自動切換路徑到目前 Finder 開啟的視窗。如果有多個視窗開啟,就會找排在最上面的。測試過中文日文路徑名稱都沒問題,檔名有空白也 OK。
有了這個指令,加上 Visor 外掛,可以徹底淘汰 DTerm 了。
內文搜尋

X