MacOS X: How to have a handy "Open this folder in iTerm" shortcut?

I think the title states exactly what I want to do. I want a shortcut or even a button within Finder which fires up a new iTerm Tab and changes the location to the location I've open in Finder. Some sort of open . in reverse.


Solution 1:

There is an Open Terminal Here AppleScript that you should be able to modify to call iTerm instead. This MacOSXHints post should be helpful as well.

(I'm not on my Mac otherwise I would test it.)

Solution 2:

This applescript works for me:

-- script was opened by click in toolbar
on run
tell application "Finder"
    try
        set currFolder to (folder of the front window as string)
    on error
        set currFolder to (path to desktop folder as string)
    end try
end tell
CD_to(currFolder, false)
end run

-- script run by draging file/folder to icon
on open (theList)
set newWindow to false
repeat with thePath in theList
    set thePath to thePath as string
    if not (thePath ends with ":") then
        set x to the offset of ":" in (the reverse of every character of thePath) as string
        set thePath to (characters 1 thru -(x) of thePath) as string
    end if
    CD_to(thePath, newWindow)
    set newWindow to true -- create window for any other files/folders
end repeat
return
end open

-- cd to the desired directory in iterm
on CD_to(theDir, newWindow)
set theDir to quoted form of POSIX path of theDir as string
tell application "iTerm"
    activate
    delay 1
    -- talk to the first terminal 
    try
        set myterm to the first terminal
    on error
        set myterm to (make new terminal)
    end try

    tell myterm
        try
            -- launch a default shell in a new tab in the same terminal 
            launch session "Default Session"
        on error
            display dialog "There was an error creating a new tab in iTerm." buttons {"OK"}
        end try
        tell the last session
            try
                -- cd to the finder window
                write text "cd " & theDir
            on error
                display dialog "There was an error cding to the finder window." buttons {"OK"}
            end try
        end tell
    end tell
end tell
end CD_to

Solution 3:

Using the other answers on this page I have created an App that can be dragged into the finder task bar.

You can download it from here: https://github.com/rc1/iTermTo

Solution 4:

This is built in to iTerm2 as of version 3.1.0.

To use the functionality:
in Finder right click a folder -> Services -> New iTerm2 Window Here

Note: the Services submenu is at the very bottom of the right-click menu.

Reference
At this link click Show Older Versions, then under iTerm2 3.1.0 click Show Changelog and look for services, you'll find this:

Add support for finder services. You can right click in Finder to launch iTerm2 in that location.

Solution 5:

Take a look at the cdto project hosted on https://github.com/jbtule/cdto "Finder Toolbar app to open the current directory in the Terminal (or iTerm, X11). This app is designed (including its icon) to placed in the finder window's toolbar."