Safari“搜索标签”键盘快捷键


12

Safari 8的新“搜索标签”功能非常好。激活“显示所有选项卡”后,您可以键入一些文本以将选项卡筛选为所需的选项卡。但是,一旦我看到一个标签,那将是非常好的能够激活该选项卡。这将允许选项卡使用“ spotlight”类型的功能。

但是,似乎在搜索完标签后似乎没有键盘快捷键可以激活该标签,因此我不得不用鼠标单击该标签!这似乎是一种疏忽,我不敢相信Apple会添加一种不错的方法来过滤选项卡,但无法选择一个选项!

屏幕截图:

在此处输入图片说明


我知道这完全没有帮助,但是我可以相信他们会这样做。:P特别是考虑到…优胜美地的边缘有些粗糙。
tubedogg 2014年

有什么新东西吗?已经有几个月了,这个问题似乎仍然存在:(
dvcrn 2015年

现在,使用High Sierra中所有使用本机标签的应用程序都可以使用带有搜索功能的“显示所有标签”视图。
史蒂夫·

Answers:


3

我尝试了以下按键组合以尝试执行此操作,但没有任何效果:

  • Command + Return ... +空格
  • Option +返回... +空格
  • Control + Return ... +空格
  • Command + Shift + \(Macbook上的“显示所有选项卡”命令)

这使我相信这确实是对苹果公司的疏忽。

Kludge:创建一个Automator命令来模拟鼠标单击

我使用在https://discussions.apple.com/thread/3708948上找到的代码来组合以下AppleScript:

尝试1: 没用我使用包裹在Automator服务中的Applescript来运行此代码,该服务映射到“ Command + Shift + Option + Control + Space”,使用从按“ Command + Control + Shift + 4”到获取区域的地址(从左侧水平600像素,从顶部垂直300像素),并且可以在普通Safari中工作(按组合键可使鼠标单击该像素地址),但是当在Safari的“显示所有选项卡”模式下运行了相同的键盘命令!

on run {input, parameters}
    tell application "System Events"
            tell process "Safari"
                click at {600, 300}
            end tell
        end tell

        return input
    end run

尝试2:可行,但不可行

我确实收到了与以下包装在Automator服务中的Applescript一起使用的键盘命令,但完成操作花费了5.125秒:

    on run {input, parameters}

    set x to 600
    set y to 150

    do shell script "
/usr/bin/python <<END
import sys
import time
from Quartz.CoreGraphics import *
def mouseEvent(type, posx, posy):
          theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft)
          CGEventPost(kCGHIDEventTap, theEvent)
def mousemove(posx,posy):
          mouseEvent(kCGEventMouseMoved, posx,posy);
def mouseclick(posx,posy):
          mouseEvent(kCGEventLeftMouseDown, posx,posy);
          mouseEvent(kCGEventLeftMouseUp, posx,posy);
ourEvent = CGEventCreate(None);
currentpos=CGEventGetLocation(ourEvent);             # Save current mouse position
mouseclick(" & x & "," & y & ");
mousemove(int(currentpos.x),int(currentpos.y));      # Restore mouse position
END"
    return input
end run

我现在将其标记为“最佳答案”,因为这是对该主题的相当彻底的治疗,并且表明这几乎是不可能的。谢谢。
SamBeran 2014年

笨拙的解决方法是使用Shortcat选择选项卡。
亚当·林德伯格

3

我想我得到了你的答案。我整天都在寻找这个。我使用了一个很棒的免费应用程序BetterTouchTool(使用OS X 10.10)向所有Apple设备添加了附加手势和快捷方式,并且可以立即工作!不要拖延!

我将为您需要配置的每个步骤制作屏幕截图。注意:使用Safari浏览器时,它将绑定鼠标位置作为您选择的键盘快捷键。缺点:您无法更改Safari的窗口位置,并且鼠标的位置将与笔记本电脑的显示器不同。解决方案:我建议使用全屏方式将鼠标位置映射到您最常使用的屏幕上(或者仅映射每个屏幕的两个快捷方式)

  • 1下载应用程序http://www.bettertouchtool.net

  • 2打开应用程序,选择键盘,将应用程序添加到要添加的快捷方式列表中(在本例中为Safari),选择快捷方式(我在此屏幕快照中映射“ Option + 1”),然后在Trigger中选择菜单中,在“其他Mouser操作”中选择“ 将鼠标移至位置 ”。我在屏幕截图中标记了错误的选项,即上面的选项。不是“保存鼠标位置”。对不起,我太累了,现在是凌晨三点,我明天必须上班 在此处输入图片说明

  • 3选择您要光标移至的位置(当用户界面显示约3个结果时,输入框中的位置将检查第一个结果)

在此处输入图片说明

  • 4添加以下事件:左键单击事件。就是这样! 在此处输入图片说明

用不同的鼠标位置执行相同操作以获得第二,第三结果。但是请记住,如果结果较大,用户界面将更改,有时甚至隐藏第一个结果。


我已重新映射shift+command+\ command+d。因此,您只需在command+d command+f 此处输入文字即可command+d
Dzh

2

自从他们添加此功能之前,我一直在使用Applescript来执行此操作:

http://hea-www.harvard.edu/~fine/OSX/safari-tabs.html

它会弹出一个搜索对话框,您输入搜索内容,它会立即激活一个匹配选项卡,或者为您提供一个对话框,以从匹配选项卡列表中进行选择。它将窗口置于最前面,并使它成为窗口中的活动选项卡。

(我有一个类似的脚本来查找终端窗口。)


很酷; 我想我会尝试的。据我了解,您的脚本似乎也在搜索所有打开的窗口,而不仅仅是当前的窗口。那是对的吗?这是我希望普通搜索没有的功能。
krs013 2015年

0

我参加聚会有点晚,但是我认为Shortcat将执行必要的功能。

加上额外的奖励,使其可以与Mail等一起使用。


0

使用Automator并将粘贴的AppleScript粘贴到键盘快捷方式,如以下所述:

如何为我编写的AppleScript分配键盘快捷键?

set question to display dialog ("Find Safari tab:") default answer ""
set searchpat to text returned of question

tell application "Safari"
    set winlist to every window
    set winmatchlist to {}
    set tabmatchlist to {}
    set tabnamematchlist to {}
    repeat with win in winlist
        set ok to true
        try
            set tablist to every tab of win
        on error errmsg
            --display dialog name of win as string
            set ok to false
        end try
        if ok then
            repeat with t in tablist
                if searchpat is in (name of t as string) then
                    set end of winmatchlist to win
                    set end of tabmatchlist to t
                    set end of tabnamematchlist to (id of win as string) & "." & (index of t as string) & ".  " & (name of t as string)
                    --display dialog name of t as string
                else if searchpat is in (URL of t as string) then
                    set end of winmatchlist to win
                    set end of tabmatchlist to t
                    set end of tabnamematchlist to (id of win as string) & "." & (index of t as string) & ".  " & (name of t as string)
                    --display dialog name of t as string
                end if
            end repeat
        end if
    end repeat
    if (count of tabmatchlist) = 1 then
        --display dialog "one!"
        set w to item 1 of winmatchlist
        set t to item 1 of tabmatchlist
        set current tab of w to t
        set index of w to 1
    else if (count of tabmatchlist) = 0 then
        display dialog "No matches"
    else
        set whichtab to choose from list of tabnamematchlist with prompt "The following tabs match, please select one:"
        set AppleScript's text item delimiters to "."
        if whichtab is not equal to false then
            set tmp to text items of (whichtab as string)
            set w to (item 1 of tmp) as integer
            set t to (item 2 of tmp) as integer
            set current tab of window id w to tab t of window id w
            set index of window id w to 1
        end if
    end if
end tell
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.