我想知道是否可以在“ Finder”窗口的任何实例中右键单击,以便我有一个选项,显示“在此处打开终端”。这真的很有帮助。
我想知道是否可以在“ Finder”窗口的任何实例中右键单击,以便我有一个选项,显示“在此处打开终端”。这真的很有帮助。
Answers:
从Mac OS X Lion 10.7开始,终端提供服务,用于在Finder中打开所选文件夹中的新终端窗口或选项卡。它们还可以使用在文本中选择的绝对路径名(在任何应用程序中)。您可以使用“ 系统偏好设置”>“键盘”>“键盘快捷键”>“服务”启用这些服务。查找“文件夹中的新终端”和“文件夹中的新终端选项卡”。您也可以为其分配快捷键。
此外,您现在可以将文件夹(和路径名)拖到“终端”应用程序图标上以打开新的终端窗口,或拖到终端窗口中的选项卡栏上以在该窗口中创建新选项卡。如果拖动到选项卡(而不是终端视图)上,它将执行完整的cd
命令以切换到该目录,而无需任何其他输入。
从OS X Mountain Lion 10.8开始,将命令拖放到终端中还将执行完整的cd
命令。
注意:在Finder中选择文件夹后,“文件夹中的新终端”服务将变为活动状态。您不能简单地打开文件夹并“就地”运行服务。返回到父文件夹,选择相关文件夹,然后通过“服务”菜单或上下文菜单激活服务。
open -a Go2Shell --args config
以调出配置。
brew cask install go2shell
。
对于使用iTerm的用户,AppleScript语法在iTerm版本3中已更改。这是在Finder中创建快捷方式的完整过程。
启动Automator。
选择“应用程序”:
粘贴以下代码:
-- 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
单击“文件”->“导出” .app
,将其导出为,保存在中/Applications
。
按住的同时将应用程序移动到Finder图标栏⌘。
完成!
我主要使用此功能:
cf() {
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}
您还可以为脚本分配快捷方式,如下所示。
重用现有的选项卡或创建一个新窗口(终端):
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
重复使用现有标签或创建新标签(终端):
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
始终创建一个新标签页(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
与10.7中添加的服务相比,前两个脚本具有一些优势:
如果您使用10.7或10.8,请更改tell application "Finder" to set p to POSIX path of (insertion location as alias)
为:
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
10.7和10.8中有一个错误(但在10.9或10.6中没有),Finder会忽略上次将焦点移至另一个应用程序后创建的窗口,并在获取该insertion location
属性时将其移回。
您可以使用服务功能执行此操作。
以下站点包含此类服务的示例:http : //blog.leenarts.net/2009/09/03/open-service-here/
试试这个:https : //github.com/nmadhok/OpenInTerminal
它可以与Finder的侧边栏项目,多个文件夹/文件选择以及您可能想到的任何内容一起使用。真的好用!
http://etresoft.org/shellhere.html-Etresoft 和John Daniel
…右键单击“ Finder”窗口的任何实例…
我不知道是否可以通过上下文菜单访问它,但是我将ShellHere保留在Finder的工具栏中。
http://free.abracode.com/cmworkshop/on_my_command.html — 2.3版(2011-01-16)
屏幕快照等,位于http://www.wuala.com/grahamperrin/public/2011/07/31/d/?mode=gallery
在升级到Lion之前,由我在Snow Leopard上安装并使用。现在我不能说2.3版是否与Lion兼容。
我使用了多年http://openterminal.quentin.paris/
只需右键单击任何地方Finder,然后选择Open Terminal