是否有类似于Mac OS的Windows Powertoy的“此处打开命令窗口”?我已经通过Google搜索找到了几个插件,但想查看最适合那里的开发人员的插件。
是否有类似于Mac OS的Windows Powertoy的“此处打开命令窗口”?我已经通过Google搜索找到了几个插件,但想查看最适合那里的开发人员的插件。
Answers:
从Mac OS X Lion 10.7开始,终端完全包含此功能即服务。与大多数服务一样,默认情况下会禁用这些功能,因此您需要启用它才能使其显示在“服务”菜单中。
系统偏好设置>键盘>快捷方式>服务
在Folder启用New Terminal。Folder处还有New Terminal Tab,它将在最前面的Terminal窗口中创建一个选项卡(如果有的话,否则它将创建一个新窗口)。这些服务不仅可以在Finder中使用,而且还可以在所有应用程序中使用,并且它们可以对文件夹以及文本中选择的绝对路径名进行操作。
您甚至可以为它们分配命令键。
服务显示在每个应用程序菜单的“服务”子菜单中,以及上下文菜单中(在文件夹或路径名上按住Control单击或右键单击)。
当您在Finder中选择文件夹时,“文件夹中的新终端”服务将变为活动状态。您不能简单地打开文件夹并“就地”运行服务。返回到父文件夹,选择相关文件夹,然后通过“服务”菜单或上下文菜单激活服务。
此外,如果将文件夹(或路径名)拖动到“终端”应用程序图标上,Lion Terminal将打开一个新的终端窗口,并且您也可以拖动到现有窗口的标签栏以创建新的标签。
最后,如果将文件夹或路径名拖到选项卡上(在选项卡栏中),并且前台进程是外壳程序,它将自动执行“ cd”命令。(如在较早版本的Terminal中一样,拖入选项卡内的终端视图仅插入路径名。)
您也可以从命令行或shell脚本执行此操作:
open -a Terminal /path/to/folder
这等效于将文件夹/路径名拖到“终端”应用程序图标上的命令行。
与此相关的是,Lion Terminal还具有用于查找手册页的新服务:在Terminal中打开手册页可在新的终端窗口中显示选定的手册页主题,而在Terminal中的Search man Pages在选定的文本上执行“ apropos”。前者还理解手册页引用(“ open(2)”),手册页命令行参数(“ 2 open”)和手册页URL(“ x-man-page:// 2 / open”)。
这个:
https://github.com/jbtule/cdto#cd-to
这是一个小型应用程序,您可以将其拖到Finder工具栏中,该图标非常适合。它与Terminal,xterm(在X11下),iterm一起使用。
澄清(感谢@ vgm64):如果您已经在Terminal中,则可以在不离开Terminal的情况下快速切换到最顶部的Finder窗口。这样,您可以避免使用鼠标。
我已经添加了以下内容,.bash_profile
因此可以随时输入cdff
Terminal。
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 $@`"; };
这是来自此macosxhints.com终端提示。
pwd
,而是要cd
打开查找器所在的目录。
vgm64和d0k发布了非常漂亮和苗条的Open Terminal的更新版本。詹姆斯·戴维·洛(James David Low)做出了改变。他在自己的网站上发布了新版本。只需下载OpenTerminalHere.zip,解压缩它,将捆绑包移到“ Library / Scripts”文件夹,然后将其从其中拖到Finder工具栏即可。
它的特殊之处在于,如果已经打开Terminal.app窗口,它将始终打开一个新选项卡。很有用!我还注意到,该应用程序的按钮的风格更符合雪豹Finder.app款式比cdto发表节录一样。
另外,您可以使用Command-C从查找程序中复制项目,跳至终端(例如,使用Spotlight或QuickSilver),键入“ cd”,然后简单地使用Command-v粘贴
我为finder工具栏创建了一个包含3个应用程序的捆绑包。其他两个应用程序执行以下操作:
有关更多信息,请参见此处:http : //nslog.de/posts/71
如果您安装Big Cat Scripts(http://www.ranchero.com/bigcat/),则可以添加自己的上下文菜单(右键单击)项。我不认为它带有“在此处打开终端” AppleScript,但是我使用了此脚本(我不诚实地记得自己写过的,还是从别人的例子中摘下来的):
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
相似的脚本还可以使您在单击鼠标右键时获得文件的完整路径,我发现它甚至更有用。
它比您想要的要多一点,但是我建议Cocoatech的“路径查找器”适合希望该查找器有更多果汁的任何人。它包括一个用于打开当前目录的“终端”窗口的工具栏按钮,或每个Finder窗口底部带有“终端”命令行的可伸缩窗格。加上许多其他功能,这些都是我现在无法没有的。非常成熟,稳定的软件。 http://cocoatech.com/
好的,我意识到这有点晚了……也许在撰写本文时还没有这种选择?
无论如何,我发现通过Fink安装pos软件包(在这种情况下是先决条件,对于使用MacPorts的用户来说可能有些类似的东西)是最简单的解决方案。您得到两个命令:
是的,在编写cdf之前必须切换到“终端”窗口,但是与在Finder工具栏上单击按钮相比,我认为这是很便宜的。而且它也可以与iTerm一起使用,您不必下载单独的Finder工具栏按钮即可打开iTerm窗口。这与PCheese提出的方法相同,但是不必使.bash_profile混乱。
如果像我一样关闭了Finder工具栏,则此服务会在每个文件夹的上下文菜单中添加一个项目:http : //blog.leenarts.net/2009/09/03/open-service-here/
这也允许您打开在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中添加的服务相比,前两个脚本具有两个优点:
OSX 10.6上的AppleScript中有一个错误。(打开2个终端窗口)。我通过在激活后添加close命令来解决此问题。关闭第一个“终端”窗口。
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