I was wondering if there was any was I could right click inside any instance of a "Finder" window such that I have an option that says "Open Terminal Here". It would be really helpful.
-
5There are many answers to a similar question on Stack Overflow. – Rob Kennedy Apr 4 '11 at 3:22
-
4this site should be a more appropriate place to ask though – ericn Dec 16 '14 at 12:27
As of Mac OS X Lion 10.7, Terminal provides Services for opening a new terminal window or tab at the selected folder in Finder. They also work with absolute pathnames selected in text (in any application). You can enable these services with System Preferences > Keyboard > Keyboard Shortcuts > Services. Look for "New Terminal at Folder" and "New Terminal Tab at Folder". You can also assign them shortcut keys.
In addition, you can now drag folders (and pathnames) onto the Terminal application icon to open a new terminal window, or onto a tab bar in a terminal window to create a new tab in that window. If you drag onto a tab (rather than into the terminal view) it will execute a complete cd
command to switch to that directory without any additional typing.
As of OS X Mountain Lion 10.8, Command-Dragging into a terminal will also execute a complete cd
command.
Note: The New Terminal at Folder service will become active when you select a folder in Finder. You cannot simply have the folder open and run the service "in place". Go back to the parent folder, select the relevant folder, then activate the service via the Services menu or context menu.
-
2"In addition, you can now drag folders (and pathnames) onto the Terminal application icon to open a new terminal window," - are you kidding me? that's AWESOME! :) – phil Sep 8 '13 at 13:29
-
3In Mavericks 10.9.4 - shortcuts doesn't work for me. Thanks for Drag and Drop tip :) – amar Jul 22 '14 at 8:36
-
1
-
2
-
4One thing I noticed, and this is with El Capitan, is that you have to select the folder in Finder (single-click on the folder that you see inside finder). The way I expected this to work is that it would open a Terminal window in the current folder. In fact, you have to select the folder within the window. – sillygwailo Oct 9 '15 at 13:46
The solution to your troubles is called Go2Shell and it does exactly what you're describing. You can find it on the App Store and best of all... it's totally free.
-
If you want to use iTerm instead with Go2Shell, see this answer to bring up the preferences. Or in short, type
open -a Go2Shell --args config
to bring up configuration. – Jeromy Anglim Nov 18 '13 at 11:45 -
-
1The latest version cannot be installed through the app store, but from their website zipzapmac.com/Go2Shell, or by
brew cask install go2shell
. – fiedl Oct 19 '18 at 11:13 -
i was able to install the latest version, v1.2.2 from the apple/itunes app store, working perfectly fine – computingfreak Jul 16 at 3:52
A different approach: DTerm, which gives you a floating command prompt at the top of the window. This works in many apps, not just Finder.
cdto seems like it is just what you need. It is a mini-application, designed to be put in the Finder's toolbar, when you run it it will open a terminal window and cd
to the current directory in Finder.
For those using iTerm, the AppleScript syntax has change in iTerm version 3. Here's the full procedure to follow to create a shortcut in the Finder.
Launch Automator.
Select "Application" :
- Choose "run Applescript" :
Paste the code below:
-- 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
Click "File" -> "Export" to export as an
.app
, save it in/Applications
.Move the application to the Finder icons bar while holding ⌘ :
Done !
You can change the icon in the Finder by following the instructions here (change the icon of the application you created with Automator).
I mostly use this function:
cf() {
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}
You could also assign a shortcut to a script like the ones below.
Reuse an existing tab or create a new window (Terminal):
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
Reuse an existing tab or create a new tab (Terminal):
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
Always create a new tab (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
The first two scripts have a few advantages compared to the services added in 10.7:
- As of 10.9, there is a bug where services that receive folders as input are never listed in the services menu in column view. If you assign the New Terminal Tab at Folder service a keyboard shortcut, it doesn't work in column view.
- They use the folder on the title bar instead of requiring you to select a folder first.
- They reuse the frontmost tab if it is not busy, e.g. running a command, displaying a man page, or running emacs.
If you use 10.7 or 10.8, change tell application "Finder" to set p to POSIX path of (insertion location as alias)
to:
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
There is a bug in 10.7 and 10.8 (but not in 10.9 or 10.6) where Finder ignores windows created after the last time focus was moved to another application and back when getting the insertion location
property.
You can do this with the service feature.
The following site contains an example of such a service: http://blog.leenarts.net/2009/09/03/open-service-here/
You can drag any file or folder from the finder onto a Terminal window to insert a string of said file or folder's absolute path.
This will work on any standard install (at least back until 10.4 Tiger [¿maybe earlier?]) without needing additional software our twiddling of preferences, either of which may later freak out your non-techy friend if it happens to be his/her Mac that you’re working on. This trick also works for any process that is running in the Terminal, e.g. emacs or vi (assuming you’ve got vi in the appropriate mode, or however it is that you people who use vi do).
Try this: https://github.com/nmadhok/OpenInTerminal
It works with the Finder's sidebar items, multiple folder/file selections and anything you could think of. Really easy to use!
ShellHere
http://etresoft.org/shellhere.html — Etresoft and John Daniel
… right click inside any instance of a "Finder" window …
I don't know whether it can be reached through a contextual menu, but I keep ShellHere in the toolbar of Finder.
OnMyCommand
http://free.abracode.com/cmworkshop/on_my_command.html — version 2.3 (2011-01-16)
Screenshot etc. at http://www.wuala.com/grahamperrin/public/2011/07/31/d/?mode=gallery
Installed and used by me on Snow Leopard before upgrading to Lion. Too soon for me to say whether version 2.3 is compatible with Lion.
I use this for years http://openterminal.quentin.paris/
Just right click on anywhere Finder, choose Open Terminal
OpenTerminal
-
1Dead link :(. This is the reason why link only answers have a short life or should be checked regularly to stay alive. – dan Mar 17 '17 at 7:35
-