Có cái gì đó tương tự như "Cửa sổ lệnh mở ở đây" Windows Powertoy cho Mac OS không? Tôi đã tìm thấy một vài plugin thông qua một tìm kiếm google nhưng muốn xem những gì hoạt động tốt nhất cho các nhà phát triển ngoài kia.
Có cái gì đó tương tự như "Cửa sổ lệnh mở ở đây" Windows Powertoy cho Mac OS không? Tôi đã tìm thấy một vài plugin thông qua một tìm kiếm google nhưng muốn xem những gì hoạt động tốt nhất cho các nhà phát triển ngoài kia.
Câu trả lời:
Kể từ Mac OS X Lion 10.7, Terminal bao gồm chính xác chức năng này như một Dịch vụ. Giống như hầu hết các Dịch vụ, các dịch vụ này bị tắt theo mặc định, vì vậy bạn sẽ cần bật tính năng này để xuất hiện trong menu Dịch vụ.
Tùy chọn hệ thống> Bàn phím> Phím tắt> Dịch vụ
Kích hoạt Terminal mới tại Thư mục . Ngoài ra còn có Tab Terminal mới tại Thư mục , sẽ tạo một tab trong cửa sổ Terminal ngoài cùng (nếu có, nó sẽ tạo một cửa sổ mới). Các Dịch vụ này hoạt động trong tất cả các ứng dụng, không chỉ Finder và chúng hoạt động trên các thư mục cũng như tên đường dẫn tuyệt đối được chọn trong văn bản.
Bạn thậm chí có thể gán các phím lệnh cho chúng.
Các dịch vụ xuất hiện trong menu con Dịch vụ của mỗi menu ứng dụng và trong menu ngữ cảnh (Nhấp chuột phải hoặc Nhấp chuột phải vào thư mục hoặc tên đường dẫn).
Các New Terminal tại thư mục dịch vụ sẽ được kích hoạt khi bạn chọn một 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 liên quan, sau đó kích hoạt dịch vụ thông qua menu Dịch vụ hoặc menu ngữ cảnh.
Ngoài ra, Lion Terminal sẽ mở một cửa sổ terminal mới nếu bạn kéo một thư mục (hoặc tên đường dẫn) vào biểu tượng ứng dụng Terminal và bạn cũng có thể kéo vào thanh tab của một cửa sổ hiện có để tạo một tab mới.
Cuối cùng, nếu bạn kéo một thư mục hoặc tên đường dẫn vào một tab (trong thanh tab) và quá trình tiền cảnh là shell, nó sẽ tự động thực hiện lệnh "cd". (Kéo vào chế độ xem thiết bị đầu cuối trong tab chỉ tự chèn tên đường dẫn, như trong các phiên bản cũ hơn của Terminal.)
Bạn cũng có thể làm điều này từ dòng lệnh hoặc tập lệnh shell:
open -a Terminal /path/to/folder
Đây là dòng lệnh tương đương với việc kéo thư mục / tên đường dẫn vào biểu tượng ứng dụng Terminal.
Trên một lưu ý liên quan, Lion Terminal cũng có Dịch vụ mới để tra cứu trang man: Trang man mở trong Terminal hiển thị chủ đề trang man được chọn trong cửa sổ terminal mới và Search man Pages trong Terminal thực hiện "apropos" trên văn bản đã chọn. Cái trước cũng hiểu các tham chiếu trang man ("open (2)"), đối số dòng lệnh man page ("2 open") và URL trang man ("x-man-page: // 2 / open").
Điều này:
https://github.com/jbtule/cdto#cd-to
Đó là một ứng dụng nhỏ mà bạn kéo vào thanh công cụ Finder, biểu tượng rất vừa vặn. Nó hoạt động với Terminal, xterm (dưới X11), iterm.
Một ứng dụng mà tôi đã tìm thấy không thể thiếu thay thế là DTerm , ứng dụng này thực sự mở một thiết bị đầu cuối mini ngay trong ứng dụng của bạn. Thêm vào đó, nó hoạt động với mọi thứ ngoài kia - Finder, XCode, PhotoShop, v.v.
Làm rõ (cảm ơn @ vgm64): nếu bạn đã ở trong Terminal, điều này cho phép bạn nhanh chóng thay đổi sang cửa sổ Finder trên cùng mà không cần rời Terminal. Bằng cách này, bạn có thể tránh sử dụng chuột.
Tôi đã thêm các mục sau vào đây để tôi .bash_profile
có thể nhập cdff
Terminal bất cứ lúc nào.
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 $@`"; };
Đây là từ gợi ý Terminal macosxhints.com này .
pwd
, nhưng đến cd
thư mục mà công cụ tìm đang mở.
Kiểm tra Open Terminal tại đây . Nó có thể giống với "Cửa sổ lệnh mở ở đây". Tôi đã sử dụng >cdto
và điều này rất giống nhau nhưng điều này có vẻ tốt hơn một chút khi đối phó với Spaces ... nhưng không hoàn hảo.
Điều rất hay là khả năng " phát hiện các sự kiện khóa xuống khi bắt đầu ứng dụng và sử dụng chúng để sửa đổi hành vi của tập lệnh " cho phép tập lệnh mở một tab mới trong cửa sổ đầu cuối nhất khi được gọi bằng cách giữ phím. Trò hay.
Cũng lưu ý câu trả lời của PCheese; nó có lẽ hữu ích hơn cho người dùng thiết bị đầu cuối nặng!
Có một phiên bản cập nhật của Open Terminal rất đẹp và mỏng được đăng bởi vgm64 và d0k . Sự thay đổi được thực hiện bởi james david thấp . Ông đã xuất bản phiên bản mới trên trang web của mình . Chỉ cần tải xuống OpenTerminalHere.zip, giải nén nó, di chuyển gói vào thư mục Thư viện / Tập lệnh của bạn và kéo nó từ đó vào thanh công cụ Finder của bạn.
Điều đặc biệt ở đây là nó luôn mở một tab mới nếu cửa sổ Terminal.app đã mở. Rất hữu ích! Tôi cũng lưu ý rằng kiểu nút của ứng dụng phù hợp hơn với kiểu Snow Leopard Finder.app so với cdto được đăng bởi redacted đã làm.
Ngoài ra, bạn có thể sao chép một mục từ công cụ tìm bằng lệnh-C, nhảy vào Terminal (ví dụ: sử dụng Spotlight hoặc QuickSilver) gõ 'cd' và chỉ cần dán bằng lệnh-v
Tôi đã tạo một gói với 3 ứng dụng cho thanh công cụ tìm. Hai ứng dụng khác làm:
Để biết thêm thông tin xem tại đây: http://nslog.de/posts/71
Nếu bạn cài đặt Big Cat ScScript ( http://www.ranchero.com/bigcat/ ), bạn có thể thêm các mục theo ngữ cảnh (nhấp chuột phải) của riêng bạn. Tôi không nghĩ rằng nó đi kèm với một thiết bị đầu cuối mở ở đây nhưng tôi sử dụng tập lệnh này (mà tôi không nhớ trung thực nếu tôi tự viết hoặc nâng lên từ ví dụ của người khác):
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
Các kịch bản tương tự cũng có thể giúp bạn có đường dẫn đầy đủ đến một tệp khi nhấp chuột phải, điều này thậm chí còn hữu ích hơn, tôi thấy.
Đó là nhiều hơn một chút so với bạn đang yêu cầu, nhưng tôi khuyên bạn nên tìm Path Path của Cocoatech cho bất kỳ ai muốn Finder có thêm một chút nước trái cây. Nó bao gồm một nút thanh công cụ để mở cửa sổ Terminal cho thư mục hiện tại hoặc khung có thể thu vào với dòng lệnh Terminal ở cuối mỗi cửa sổ Finder. Cộng với nhiều tính năng khác mà bây giờ tôi không thể sống thiếu. Phần mềm rất trưởng thành, ổn định. http://cocoatech.com/
Ok, tôi nhận ra rằng điều này hơi muộn ... có lẽ sự thay thế này không có sẵn tại thời điểm viết bài?
Dù sao, tôi đã thấy cài đặt gói pos qua Fink (một điều kiện tiên quyết trong trường hợp này, có lẽ có một cái gì đó tương tự cho những người sử dụng MacPorts?) Là giải pháp dễ nhất. Bạn nhận được hai lệnh:
Có, bạn phải chuyển sang cửa sổ Terminal trước khi viết cdf, nhưng tôi cho rằng nó khá rẻ so với việc nhấp vào nút trên thanh công cụ Finder. Và nó cũng hoạt động với iTerm, bạn không phải tải xuống nút thanh công cụ Finder riêng biệt để mở cửa sổ iTerm. Đây là cách tiếp cận tương tự như đề xuất của PCheese, nhưng bạn không phải làm lộn xộn .bash_profile của mình.
Nếu giống như tôi, bạn tắt thanh công cụ Finder, Dịch vụ này sẽ thêm một mục vào menu ngữ cảnh của mọi thư mục: http://blog.leenarts.net/2009/09/03/open-service-here/
Điều này cũng cho phép bạn mở bất kỳ thư mục nào bạn thấy trong chế độ xem dạng cây.
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 một tab hiện có hoặc tạo một 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ó hai lợi thế so với các dịch vụ được thêm vào trong 10.7:
Có một lỗi trong AppleScript trên OSX 10.6. (2 cửa sổ đầu cuối mở). Tôi đã sửa lỗi này bằng cách thêm lệnh đóng sau khi kích hoạt. Điều này đóng cửa sổ Terminal đầu tiên.
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