Làm cách nào tôi có thể mở cửa sổ Terminal trực tiếp từ vị trí Finder hiện tại của mình?


111

Tôi đã tự hỏi nếu có bất kỳ cái gì tôi có thể nhấp chuột phải vào bất kỳ trường hợp nào của cửa sổ "Finder" để tôi có một tùy chọn có nội dung "Open Terminal Here". Nó sẽ thực sự hữu ích.


5
Có rất nhiều câu trả lời cho một câu hỏi tương tự trên Stack Overflow .
Rob Kennedy

4
trang web này phải là một nơi thích hợp hơn để hỏi mặc dù
ericn

Câu trả lời:


134

Kể từ Mac OS X Lion 10.7, Terminal cung cấp Dịch vụ để mở cửa sổ hoặc tab thiết bị đầu cuối mới tại thư mục đã chọn trong Finder. Chúng cũng hoạt động với tên đường dẫn tuyệt đối được chọn trong văn bản (trong bất kỳ ứng dụng nào). Bạn có thể bật các dịch vụ này với Tùy chọn hệ thống> Bàn phím> Phím tắt> Dịch vụ . Tìm "Thiết bị đầu cuối mới tại thư mục" và "Tab thiết bị đầu cuối mới tại thư mục". Bạn cũng có thể gán cho chúng các phím tắt.

Ngoài ra, giờ đây bạn có thể kéo các thư mục (và tên đường dẫn) vào biểu tượng ứng dụng Terminal để mở cửa sổ terminal mới hoặc vào thanh tab trong cửa sổ terminal để tạo tab mới trong cửa sổ đó. Nếu bạn kéo vào một tab (thay vì vào giao diện đầu cuối), nó sẽ thực thi một cdlệnh hoàn chỉnh để chuyển sang thư mục đó mà không cần nhập thêm.

Kể từ OS X Mountain Lion 10.8, Command-Dragging vào terminal cũng sẽ thực thi một cdlệnh hoàn chỉnh .

Lưu ý: Dịch vụ Terminal mới tại Thư mục sẽ hoạt động khi bạn chọn thư mục trong Finder . Bạn không thể chỉ cần mở thư mục và chạy dịch vụ "tại chỗ". Quay trở lại thư mục mẹ, chọn thư mục có liên quan, sau đó kích hoạt dịch vụ thông qua menu Dịch vụ hoặc menu ngữ cảnh.


2
"Ngoài ra, giờ đây bạn có thể kéo các thư mục (và tên đường dẫn) vào biểu tượng ứng dụng Terminal để mở cửa sổ terminal mới," - bạn đang đùa tôi à? thật TUYỆT VỜI! :)
phil

3
Trong Mavericks 10.9.4 - các phím tắt không hoạt động với tôi. Cảm ơn về mẹo Kéo và Thả :)
amar

1
@amar Bạn có thể chia sẻ với chúng tôi những gì bạn đã làm? Cũng tan vỡ cho tôi trong 10.10
OJFord

2
@Olive - sau khi tôi nâng cấp lên các phím tắt Yesomite không còn hoạt động với tôi :(
amar

4
Một điều tôi nhận thấy, và điều này là với El Capitan, là bạn phải chọn thư mục trong Finder (nhấp một lần vào thư mục mà bạn thấy bên trong công cụ tìm). Cách tôi mong đợi nó hoạt động là nó sẽ mở một cửa sổ Terminal trong thư mục hiện tại. Trong thực tế, bạn phải chọn thư mục trong cửa sổ.
sillygwailo

19

Giải pháp cho những rắc rối của bạn được gọi là Go2Shell và nó thực hiện chính xác những gì bạn mô tả. Bạn có thể tìm thấy nó trên App Store và tốt nhất là ... nó hoàn toàn miễn phí.

Go2Shell


Nếu bạn muốn sử dụng iTerm thay vì với Go2Shell, hãy xem câu trả lời này để đưa ra các tùy chọn . Hoặc trong ngắn hạn, gõ open -a Go2Shell --args configđể đưa lên cấu hình.
Jeromy Anglim

@jherran bây giờ có vẻ ổn rồi
Colas

1
Phiên bản mới nhất không thể được cài đặt thông qua cửa hàng ứng dụng, nhưng từ trang web của họ zipzapmac.com/Go2Shell hoặc bởi brew cask install go2shell.
fiedl

tôi đã có thể cài đặt phiên bản mới nhất, v1.2.2 từ cửa hàng ứng dụng apple / itunes, hoạt động hoàn toàn tốt
tính toán

14

Một cách tiếp cận khác: DTerm , cung cấp cho bạn một dấu nhắc lệnh nổi ở đầu cửa sổ. Điều này hoạt động trong nhiều ứng dụng, không chỉ Finder.


13

cdto có vẻ như nó chỉ là những gì bạn cần. Nó là một ứng dụng nhỏ, được thiết kế để đặt vào thanh công cụ của Finder, khi bạn chạy nó, nó sẽ mở một cửa sổ đầu cuối và cdđến thư mục hiện tại trong Finder.


10

Đối với những người sử dụng iTerm, cú pháp AppleScript đã thay đổi trong phiên bản iTerm 3. Đây là quy trình đầy đủ phải tuân theo để tạo lối tắt trong Finder.

  1. Khởi động máy tự động.

  2. Chọn "Ứng dụng":

minh họa hướng dẫn

  1. Chọn "chạy Applescript":

nhập mô tả hình ảnh ở đây

  1. Dán mã dưới đây:

    -- 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

nhập mô tả hình ảnh ở đây

  1. Nhấp vào "Tệp" -> "Xuất" để xuất dưới dạng .app, lưu nó vào /Applications.

  2. Di chuyển ứng dụng vào thanh biểu tượng Finder trong khi giữ :

nhập mô tả hình ảnh ở đây

Làm xong !

Bạn có thể thay đổi biểu tượng trong Finder bằng cách làm theo các hướng dẫn tại đây (thay đổi biểu tượng của ứng dụng bạn đã tạo bằng Automator).


9

Tôi chủ yếu sử dụng chức năng này:

cf() {
  cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}

Bạn cũng có thể gán một phím tắt cho một tập lệnh như các tập lệnh bên dưới.

Sử dụng lại tab hiện có hoặc tạo cửa sổ mới (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

Sử dụng lại một tab hiện có hoặc tạo một tab mới (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

Luôn tạo một tab mới (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

Hai tập lệnh đầu tiên có một vài lợi thế so với các dịch vụ được thêm vào trong 10.7:

  • Kể từ ngày 10.9, có một lỗi trong đó các dịch vụ nhận thư mục làm đầu vào không bao giờ được liệt kê trong menu dịch vụ trong chế độ xem cột. Nếu bạn chỉ định Tab thiết bị đầu cuối mới tại dịch vụ thư mục một phím tắt, nó sẽ không hoạt động trong chế độ xem cột.
  • Họ sử dụng thư mục trên thanh tiêu đề thay vì yêu cầu bạn chọn thư mục trước.
  • Họ sử dụng lại tab trên cùng nếu nó không bận, ví dụ: chạy lệnh, hiển thị trang man hoặc chạy emacs.

Nếu bạn sử dụng 10.7 hoặc 10.8, hãy đổi tell application "Finder" to set p to POSIX path of (insertion location as alias)thành:

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

Có lỗi trong 10.7 và 10.8 (nhưng không phải trong 10.9 hoặc 10.6) khi Finder bỏ qua các cửa sổ được tạo sau lần lấy nét cuối cùng được chuyển sang ứng dụng khác và quay lại khi lấy thuộc insertion locationtính.



3

Bạn có thể kéo bất kỳ tệp hoặc thư mục nào từ công cụ tìm vào cửa sổ Terminal để chèn một chuỗi đường dẫn tuyệt đối của tệp hoặc thư mục đã nói.

Điều này sẽ hoạt động trên bất kỳ cài đặt tiêu chuẩn nào (ít nhất là trở lại cho đến 10,4 Tiger [ có thể sớm hơn? ]) Mà không cần phần mềm bổ sung của chúng tôi, một trong hai điều này sau đó có thể khiến người bạn không phải là công nghệ của bạn sợ hãi nếu điều đó xảy ra là của anh ấy / cô ấy Mac mà bạn đang làm việc. Thủ thuật này cũng hoạt động đối với bất kỳ quy trình nào đang chạy trong Terminal, ví dụ như emacs hoặc vi (giả sử bạn đã có vi ở chế độ thích hợp hoặc tuy nhiên đó là những người sử dụng vi do).


3

Hãy thử điều này: https://github.com/nmadhok/OpenInTerminal

Nó hoạt động với các mục bên của Trình tìm kiếm, nhiều lựa chọn thư mục / tệp và bất cứ điều gì bạn có thể nghĩ đến. Thực sự dễ sử dụng!


Nó hoạt động tốt với sierra cao!
Ivelin


2

OnMyCommand

http://free.abracode.com/cmworkshop/on_my_command.html - phiên bản 2.3 (2011-01-16)

Ảnh chụp màn hình, v.v. tại http: //www.w mộng.com/grahamperrin/public/2011/07/31/d/?mode=gallery

Được tôi cài đặt và sử dụng trên Snow Leopard trước khi nâng cấp lên Lion. Quá sớm để tôi nói liệu phiên bản 2.3 có tương thích với Lion hay không.




-1

 

    OpenTerminal


1
Liên kết chết :(. Đây là lý do tại sao các câu trả lời chỉ liên kết có thời gian tồn tại ngắn hoặc nên được kiểm tra thường xuyên để tồn tại.
dan

@daniel Thay thế bằng liên kết archive.org
grg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.