New Terminal for Window

Summary: Makes a Terminal window for working on the current window’s file.
Requires: BBEdit 6.5
Suggested Key Binding: Command-Shift-1
Last Modified: 2019-10-02

Description

This script opens a new Terminal window and sets the working directory to the parent folder of the current document. So, for instance, you can invoke the script and type “make<enter>” to compile/LaTeX/whatever the current file.

By default, the script is bound to Command-!, because the roughly equivalent “shell-command” feature in Emacs is bound to M-!.

Installation Instructions · Download in Compiled Format · Download in Text Format

Script

tell application "BBEdit"
    
if class of window 1 is disk browser window then
        
set s to selection of window 1
        
set f to alias 1 of s
    
else
        
set f to file of window 1
    
end if
end tell

tell application "Finder"
    
set c to f's container as alias
    
set p to POSIX path of c
end tell

tell application "Terminal"
    
do script "cd " & quoted form of p
    
activate
end tell