Mac OS用の「ここでコマンドウィンドウを開く」Windows Powertoyに似たものはありますか?私はグーグル検索でいくつかのプラグインを見つけましたが、そこでは開発者にとって最も効果的なものを見たかったのです。
Mac OS X Lion 10.7の時点で、ターミナルにはまさにこの機能がサービスとして含まれています。ほとんどのサービスと同様に、これらはデフォルトで無効になっているため、これを有効にして[サービス]メニューに表示する必要があります。
システム環境設定>キーボード>ショートカット>サービス
フォルダの新しいターミナルを有効にします。また、Folderに新しいターミナルタブがあり、最前面のターミナルウィンドウにタブを作成します(存在しない場合は新しいウィンドウを作成します)。これらのサービスは、Finderだけでなく、すべてのアプリケーションで機能し、テキストで選択されたフォルダーと絶対パス名で動作します。
コマンドキーを割り当てることもできます。
サービスは、各アプリケーションメニューの[サービス]サブメニュー、およびコンテキストメニュー(フォルダーまたはパス名でControlキーを押しながらクリックまたは右クリック)内に表示されます。
フォルダの新しいターミナルサービスは、フォルダを選択するとアクティブになります Finderで。単にフォルダを開いて、「インプレース」でサービスを実行することはできません。親フォルダーに戻り、関連するフォルダーを選択して、[サービス]メニューまたはコンテキストメニューからサービスをアクティブにします。
さらに、フォルダ(またはパス名)をターミナルアプリケーションアイコンにドラッグすると、ライオンターミナルは新しいターミナルウィンドウを開きます。また、既存のウィンドウのタブバーにドラッグして新しいタブを作成することもできます。
最後に、フォルダーまたはパス名をタブ(タブバー)にドラッグし、フォアグラウンドプロセスがシェルの場合、「cd」コマンドが自動的に実行されます。 (タブ内のターミナルビューにドラッグすると、古いバージョンのターミナルのように、パス名が挿入されるだけです。)
コマンドラインまたはシェルスクリプトからこれを行うこともできます。
open -a Terminal /path/to/folder
これは、フォルダー/パス名をターミナルアプリケーションアイコンにドラッグするのと同じコマンドラインです。
関連する注意事項として、Lionターミナルには、manページを検索するための新しいサービスもあります。Terminalでmanページを開くは、選択したmanページのトピックを新しい端末に表示しますウィンドウ、およびTerminalでmanページを検索すると、選択したテキストに対して「適切な」実行が行われます。前者は、manページの参照( "open(2)")、manページのコマンドライン引数( "2 open")、manページのURL( "x-man-page:// 2/open")も理解します。
この:
https://github.com/jbtule/cdto#cd-to
それはあなたがFinderツールバーにドラッグする小さなアプリです、アイコンはとてもうまく収まります。 Terminal、xterm(X11以下)、itermで動作します。
私が代わりとして不可欠であると思ったアプリケーションは DTerm で、これは実際にあなたのアプリケーションの中でミニターミナルを開く。さらに、Finder、XCode、PhotoShopなど、ほぼすべてのものに対応しています。
明確化(ありがとう@ vgm64):すでにターミナルを開いている場合は、ターミナルを終了せずにすぐに一番上のFinderウィンドウに移動できます。このようにして、マウスを使うのを避けることができます。
私は.bash_profile
に以下を追加したので、いつでもTerminalでcdff
を入力することができます。
function ff { osascript -e 'tell application "Finder"'\
-e "if (${1-1} <= (count Finder windows)) then"\
-e "get POSIX path of (target of window ${1-1} as alias)"\
-e 'else' -e 'get POSIX path of (desktop as alias)'\
-e 'end if' -e 'end tell'; };\
function cdff { cd "`ff $@`"; };
ターミナルをここで開く をチェックしてください。これは、「コマンドウィンドウをここで開く」と最もよく似ています。私は>cdto
を使いました、そして、これは非常に似ています、しかし、これはSpacesを扱うことにおいてもう少し良いように思われます...しかし完全ではありません。
それが持っているのはとても素晴らしいことです。 " アプリケーションの開始時にキーダウンイベントを検出し、それらを使ってスクリプトの動作を変更することができます " ⌘キーを押しながら起動すると、最前面のターミナルウィンドウが表示されます。きちんとしたトリック。
PCheeseの答えにも注意してください。ヘビーターミナルユーザーにとってはおそらくもっと便利です。
とても素敵でスリムな Open Terminal Here の投稿されたvgm64とd0kの更新版があります。変更はjames david lowによって行われました。彼は 彼のサイト に新しいバージョンを公開しました。 OpenTerminalHere.Zipをダウンロードして解凍し、バンドルをLibrary/Scriptsフォルダに移動してそこからFinderツールバーにドラッグするだけです。
それについて特別なことはそれが 常に新しいタブを開くことです Terminal.appウィンドウが既に開いている場合。非常に便利!私はまた、アプリケーションのボタンのスタイルは、redactedによって投稿されたcdtoよりもSnow Leopard Finder.appのスタイルに適していることにも注目しました。
また、Command-Cを使ってFinderからアイテムをコピーし、(例えばSpotlightやQuickSilverを使って)ターミナルに移動し、 'cd'とタイプしてcommand-vで貼り付けることもできる。
Finderツールバー用の3つのアプリを含むバンドルを作成しました。他の2つのアプリは以下のことを行います。
詳細についてはここを参照してください: http://nslog.de/posts/71
Big Cat Scripts( http://www.ranchero.com/bigcat/ )をインストールすると、独自のコンテキストメニュー(右クリック)の項目を追加できます。 Open Terminal Here applescriptは付属していないと思いますが、私はこのスクリプトを使用します(自分で書いたのか、他の人の例から持ち上げたのかは、正直に思い出しません)。
on main(filelist)
tell application "Finder"
try
activate
set frontWin to folder of front window as string
set frontWinPath to (get POSIX path of frontWin)
tell application "Terminal"
activate
do script with command "cd \"" & frontWinPath & "\""
end tell
on error error_message
beep
display dialog error_message buttons ¬
{"OK"} default button 1
end try
end tell
end main
右クリックで同様のスクリプトを使用してファイルへの完全なパスを取得することもできます。これはさらに便利です。
それはあなたが望んでいる以上のものですが、Finderにもう少しジュースが欲しい人にはCocoatechのPath Finderをお勧めします。現在のディレクトリの「ターミナル」ウインドウを開くためのツールバーボタン、または各Finderウインドウの下部に「ターミナル」コマンドラインがある格納式ペインがあります。他にもたくさんの機能があります。非常に成熟した安定したソフトウェア http://cocoatech.com/
私のようにFinderツールバーをオフにすると、このサービスはすべてのフォルダのコンテキストメニューに項目を追加します。 http://blog.leenarts.net/2009/09/03/open-service-here/
これにより、Finderのツリービューに表示されているフォルダを開くこともできます。
さて、私はこれが少し遅れていることを理解しています...多分この代替手段は記事を書いている時点で利用できなかったのですか?
とにかく、私はFink経由でposパッケージをインストールすること(この場合の前提条件、おそらくMacPortsを使っている人のための似たようなものがあるのでしょうか?)が最も簡単な解決策であると思いました。 2つのコマンドがあります。
はい、あなたはcdfを書く前にターミナルウィンドウに切り替えなければなりません、しかし私はそれがFinderツールバーのボタンをクリックするのに比べてかなり安いと思います。また、iTermでも機能します。iTermウィンドウを開くための別のFinderツールバーボタンをダウンロードする必要はありません。これはPCheeseが提案したのと同じアプローチですが、あなたはあなたの.bash_profileを乱雑にする必要はありません。
私は主にこの機能を使用します。
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で追加されたサービスと比較して2つの利点があります。
OSX 10.6のAppleScriptにはバグがあります。 (2つのターミナルウィンドウが開きます) activateの後にcloseコマンドを追加することでこれを修正しました。これで最初のターミナルウィンドウが閉じます。
on run
tell application "Finder"
try
activate
set frontWin to folder of front window as string
set frontWinPath to (get POSIX path of frontWin)
tell application "Terminal"
activate
close
do script with command "cd \"" & frontWinPath & "\""
end tell
on error error_message
beep
display dialog error_message buttons ¬
{"OK"} default button 1
end try
end tell
end run