剛試出來的 Terminal 秘技:cd 到目前開啟的 Finder 視窗

常用 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 了。
2011-05-21 16:57 發佈
有用有推! 好方法!



ulyssesric wrote:
常用 Termina...(恕刪)
這個好用。

另外加到 ~/.bash_profile 結果也是一樣的。
這個非常讚啊!感謝您!
原本以為是TermHere之類的小程式,不過那個還要用滑鼠按...

這個+visor只要快速鍵跟指令就好了!
限制級
您即將進入之討論頁 需滿18歲 方可瀏覽。
根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於該限制級網頁,依台灣網站分級推廣基金會規定作標示。
評分
複製連結