回答:
Mac OS X Lion 10.7の時点で、TerminalはFinderで選択したフォルダで新しいターミナルウィンドウまたはタブを開くためのサービスを提供します。また、(任意のアプリケーションで)テキストで選択された絶対パス名でも機能します。これらのサービスは、[ システム環境設定]> [キーボード]> [キーボードショートカット]> [サービス]で有効にできます。「フォルダの新しいターミナル」と「フォルダの新しいターミナルタブ」を探します。ショートカットキーを割り当てることもできます。
さらに、フォルダー(およびパス名)をターミナルアプリケーションアイコンにドラッグして新しいターミナルウィンドウを開くか、ターミナルウィンドウのタブバーにドラッグしてそのウィンドウに新しいタブを作成できるようになりました。(ターミナルビューではなく)タブにドラッグすると、cd
追加の入力なしで完全なコマンドが実行され、そのディレクトリに切り替わります。
OS X Mountain Lion 10.8の時点で、ターミナルへのCommand-Dragggingも完全なcd
コマンドを実行します。
注:Finderでフォルダーを選択すると、フォルダーサービスの新しいターミナルがアクティブになります。単にフォルダを開いて、「インプレース」でサービスを実行することはできません。親フォルダーに戻り、関連するフォルダーを選択して、[サービス]メニューまたはコンテキストメニューからサービスをアクティブにします。
トラブルの解決策はGo2Shellと呼ばれ、まさにあなたが説明していることをします。App Storeで見つけることができますが、何よりも完全に無料です。
open -a Go2Shell --args config
して構成を表示します。
brew cask install go2shell
ます。
cdtoは、まさに必要なもののようです。これは、Finderのツールバーに配置するように設計されたミニアプリケーションです。実行すると、ターミナルウィンドウが開き、cd
Finderの現在のディレクトリに移動します。
iTermを使用している場合、iTermバージョン3でAppleScript構文が変更されています。これは、Finderでショートカットを作成するための完全な手順です。
Automatorを起動します。
「アプリケーション」を選択します。
以下のコードを貼り付けます:
-- get the current directory in Finder
on run {input, parameters}
tell application "Finder"
set _cwd to quoted form of (POSIX path of (folder of the front window as alias))
end tell
CD_to(_cwd)
end run
-- change directory in iTerm (version >= 3)
on CD_to(_cwd)
tell application "iTerm"
activate
try
set _window to first window
on error
set _window to (create window with profile "Default")
end try
tell _window
tell current session
write text "cd " & _cwd & ";clear;"
end tell
end tell
end tell
end CD_to
「ファイル」->「エクスポート」をクリックして.app
、としてエクスポートし、保存し/Applications
ます。
を押しながら、アプリケーションをFinderアイコンバーに移動します⌘。
できた!
こちらの手順に従って、Finderのアイコンを変更できます(Automatorで作成したアプリケーションのアイコンを変更します)。
私は主にこの関数を使用します:
cf() {
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}
次のようなスクリプトにショートカットを割り当てることもできます。
既存のタブを再利用するか、新しいウィンドウ(ターミナル)を作成します。
tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
if (exists window 1) and not busy of window 1 then
do script "cd " & quoted form of p in window 1
else
do script "cd " & quoted form of p
end if
activate
end tell
既存のタブを再利用するか、新しいタブ(ターミナル)を作成します。
tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
if not (exists window 1) then reopen
activate
if busy of window 1 then
tell application "System Events" to keystroke "t" using command down
end if
do script "cd " & quoted form of p in window 1
end tell
常に新しいタブを作成します(iTerm 2):
tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "iTerm"
if exists current terminal then
current terminal
else
make new terminal
end if
tell (launch session "Default") of result to write text "cd " & quoted form of p
activate
end tell
最初の2つのスクリプトには、10.7で追加されたサービスと比較していくつかの利点があります。
10.7または10.8を使用する場合、次のように変更tell application "Finder" to set p to POSIX path of (insertion location as alias)
します。
tell application "Finder"
if exists Finder window 1 then
set p to POSIX path of (target of Finder window 1 as alias)
else
set p to POSIX path of (path to desktop)
end if
end tell
10.7および10.8にはバグがありますが(10.9または10.6ではない)、最後にフォーカスが別のアプリケーションに移動されてからinsertion location
プロパティを取得したときに作成されたウィンドウがFinderで無視されます。
これは、サービス機能を使用して実行できます。
次のサイトには、このようなサービスの例が含まれています。http: //blog.leenarts.net/2009/09/03/open-service-here/
ファインダーからターミナルウィンドウに任意のファイルまたはフォルダーをドラッグして、そのファイルまたはフォルダーの絶対パスの文字列を挿入できます。
これは、任意の標準インストールで動作します(10.4 Tigerになるまで、少なくともバック[ 多分、以前の¿? ])好みの私たちいじる追加のソフトウェアを必要とせず、彼/彼女のことを起こる場合は、後で自分の非テッキー友達に陥るかもしれいずれかが作業中のMac。このトリックは、ターミナルで実行されているすべてのプロセス、たとえばemacsやviでも機能します(viが適切なモードであるか、viを使用している人がそうであると仮定します)。
これを試してください:https : //github.com/nmadhok/OpenInTerminal
Finderのサイドバー項目、複数のフォルダー/ファイル選択、および考えられるあらゆるもので機能します。本当に使いやすい!
http://etresoft.org/shellhere.html — EtresoftとJohn Daniel
…「Finder」ウィンドウのインスタンス内で右クリックします…
コンテキストメニューからアクセスできるかどうかはわかりませんが、ShellHere はFinderのツールバーにあります。
http://free.abracode.com/cmworkshop/on_my_command.html —バージョン2.3(2011-01-16)
http://www.wuala.com/grahamperrin/public/2011/07/31/d/?mode=galleryのスクリーンショットなど
Lionにアップグレードする前にSnow Leopardにインストールして使用しました。バージョン2.3がLionと互換性があるかどうか言うのは早すぎます。
私が開発したFinderGoアプリは、オープンソースで使いやすいです。
私はこれを何年も使用してい
ますhttp://openterminal.quentin.paris/
どこでもFinderを右クリックして、ターミナルを開くを選択します