Skrót klawiaturowy do wyszukiwania zaznaczonego / podświetlonego tekstu

17

W Chrome możesz wyróżnić tekst na stronie internetowej i użyć menu kontekstowego prawym przyciskiem myszy, aby otworzyć wyszukiwanie google dla zaznaczonego tekstu na nowej karcie.

Byłoby bardzo wygodne, gdybym mógł uzyskać dostęp do tej funkcji za pomocą skrótu klawiaturowego zamiast menu kliknięcia prawym przyciskiem myszy. Próbowałem wyszukać istniejące rozszerzenia, a także przeszukałem listę istniejących skrótów klawiaturowych tutaj: https://support.google.com/chrome/answer/157179?hl=pl

Czy ktoś wie, jak to osiągnąć?

Geurty
źródło
Pytania dotyczące funkcjonalności przeglądarki internetowej należą do Super User .
ale

Odpowiedzi:

9

Działa to w przeglądarce Chrome:

  • Najpierw zaznacz jakiś tekst
  • Hit CTRL+ C- Kopiuje tekst
  • Hit CTRL+ T- Tworzy nową kartę i sprawia, że ​​jest ona aktywna
  • Hit CTRL+ V- wkleja tekst w omniboksie (Chrome domyślnie ustawia tam kursor)
  • Trafienie Enter- spowoduje przeszukanie tekstu w omniboksie

Chcesz to zautomatyzować? Użyj AutoHotKey, aby zrobić automatyczne makro za pomocą CTRL+ Alt+ S Użyj tego skryptu:

^!s::
  Send ^c
  Send ^t
  Send ^v
  Send {Enter}
Return

Do przetestowania ten skrypt działał w Chrome.

Keltari
źródło
6

Mam na to dwie odpowiedzi również w AHK.

Ma to zastosowanie globalne w dowolnym miejscu (nie tylko w chromie). Wystarczy zaznaczyć tekst i nacisnąć Windows+G

#g::  ;;Google selected text
   Send, ^c
   Run, http://www.google.com/search?q=%Clipboard%
Return

Jednym z nich jest moja odpowiedź tutaj . Wybierz Tekst i naciśnij Windows+ Shift+ G. Różni się tym, że po prostu daje link do schowka.

; Search google for the highlighted word
; then get the first link address and put it on the Clipboard

^!r:: Reload

#+g::
    bak = %clipboard%
    Send, ^c
    ;clipboard = %bak%`r`n%clipboard%
    Query = %clipboard%
    wb := ComObjCreate("InternetExplorer.Application")
    ;wb := IEGet()
    wb.Visible := false
    wb.Navigate("www.google.com/search?q=" Query)
    While wb.readyState != 4 || wb.document.readyState != "complete" || wb.busy ; wait for the page to load
      sleep 100
    ; loop % (Nodes := wb.document.getElementById("rso").childNodes).length
    ;     Links_urls .= (A_index = 1) ? Nodes[A_index-1].getElementsByTagName("a")[0].href : "`n" . Nodes[A_index-1].getElementsByTagName("a")[0].href
    ; Msgbox %Links_urls%

    Nodes := wb.document.getElementById("rso").childNodes
    First_link := Nodes[0].getElementsByTagName("a")[0].href
    Clipboard = %First_link%
    TrayTip, First Link on Google Search, %First_link% `r`n Ctrl+V to paste the link
return
Parivar Saraff
źródło
Pierwsza opcja daje mi OSTATNIE ctrl + c lub win + g. Nie jestem pewien dlaczego?
Jos
Najpierw musisz zaznaczyć tekst. To jedyny powód, dla którego mogę wymyślić ostatni klip lub używasz menedżera schowka? lub spróbuj dodać to do skryptu po Send, ^cpoleceniu, aby zobaczyć, co jest w schowku TrayTip, Clipboard Contents, %clipboard% rn
Parivar Saraff
0


To rozszerzenie może ci pomóc:
https://chrome.google.com/webstore/detail/searchbar/fjefgkhmchopegjeicnblodnidbammed
Po zainstalowaniu zaznacz te opcje:
* Domyślnie otwórz wyniki wyszukiwania w nowej karcie (nie wpływa na klawisze skrótu; naciśnij Ctrl lub środkowy- kliknij, aby przełączyć nową kartę)
* Domyślnie otwieraj nowe karty na pierwszym planie (naciśnij Shift, aby przełączać się między pierwszym planem a tłem)
Teraz możesz uruchomić wyszukiwanie zaznaczonego tekstu za pomocą skrótu Ctrl + Shift + Alt + G

Ярослав Жарков
źródło
0

Na podstawie tego, co Parivar Saraff zasugerował tutaj , tutaj jest 3 w 1 AutoHotkey Scenariusz:

;Hotkey Modifier Symbols (for how to customize the hotkeys) https://www.autohotkey.com/docs/Hotkeys.htm#Symbols

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

;                               Google-search selected text
;  Usage:ctrl+shift+G
^+g::  
{
   Send, ^c
   Sleep 150
   Run, http://www.google.com/search?q=%Clipboard% ;(изм.себе на google.com.ua)
Return

}

;                               Google-dictionary selected text
;  Usage:ctrl+shift+D
^+d::
{
   Send, ^c
   Sleep 150
   Run, https://www.google.com/search?q=define:%Clipboard% ;(изм.себе на google.com.ua)
Return

}

;                           Wikipedia-search selected text by using google "site:" operator
;  Usage:ctrl+shift+W
^+w:: 
{
   Send, ^c
   Sleep 150
   Run, https://www.google.com/search?q=site:wikipedia.org %Clipboard% ;(изм.себе на google.com.ua)
Return

}

wyróżniono także skrypt konwersji tekstu (kombinacja takich odmian skryptu w Internecie):

;Hotkey Modifier Symbols (for how to customize the hotkeys) https://www.autohotkey.com/docs/Hotkeys.htm#Symbols


    ;Hotkey Modifier Symbols (for how to customize the hotkeys) https://www.autohotkey.com/docs/Hotkeys.htm#Symbols


#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.



cycleNumber := 1

#IfWinNotActive ahk_class XLMAIN

                                ;Highlighting any text, and then pressing that HotKey will cycle through the 4 most common text casings, converting the highlighted text right in-line.

                                    ;For example:

    ;If you highlight "This is a test sentence", and then hit that HotKey once, it'll make it all UPPERCASE ("THIS IS A TEST SENTENCE").
    ;Hit the HotKey again, it'll convert it to lowercase ("this is a test sentence").
    ;Hit it again and it'll convert it to Sentence case ("This is a test sentence"). (First letter is capitalized, rest is lower-case).
    ;Finally, hit it one more time and it'll convert it to Mixed case, or what I often call, "camel-case" ("This Is A Test Sentence"). (Each word is capitalized).

;  Usage:Ctrl+Shift+C
^+c:: 

If (cycleNumber==1)
{
ConvertUpper()
cycleNumber:= 2
}
Else If (cycleNumber==2)
{
ConvertLower()
cycleNumber:= 3
}
Else If (cycleNumber==3)
{
ConvertSentence()
cycleNumber:= 4
}
Else
{
ConvertMixed()
cycleNumber:= 1
}
Return

ConvertUpper()
{
    clipSave := Clipboard
    Clipboard = ; Empty the clipboard so that ClipWait has something to detect
    SendInput, ^c ; Copies selected text
    ClipWait
    StringReplace, Clipboard, Clipboard, `r`n, `n, All ; Fix for SendInput sending Windows linebreaks 
    StringUpper, Clipboard, Clipboard
    Len:= Strlen(Clipboard) ;Set number of characters ;Set number of characters
    SendInput, ^v ; Pastes new text
    Send +{left %Len%} ;Re-select text
    VarSetCapacity(clipSave, 0) ; Free memory
    Clipboard := clipSave ;Restore previous clipboard
}

ConvertLower()
{
    clipSave := Clipboard
    Clipboard = ; Empty the clipboard so that ClipWait has something to detect
    SendInput, ^c ; Copies selected text
    ClipWait
    StringReplace, Clipboard, Clipboard, `r`n, `n, All ; Fix for SendInput sending Windows linebreaks
    StringLower, Clipboard, Clipboard
    Len:= Strlen(Clipboard) ;Set number of characters
    SendInput, ^v ; Pastes new text
    Send +{left %Len%} ;Re-select text
    VarSetCapacity(clipSave, 0) ; Free memory
    Clipboard := clipSave ;Restore previous clipboard
}

ConvertSentence()
{
    clipSave := Clipboard
    Clipboard = ; Empty the clipboard so that ClipWait has something to detect
    SendInput, ^c ; Copies selected text
    ClipWait
    StringReplace, Clipboard, Clipboard, `r`n, `n, All ; Fix for SendInput sending Windows linebreaks
    StringLower, Clipboard, Clipboard
    Clipboard := RegExReplace(Clipboard, "(((^|([.!?]+\s+))[a-z])| i | i')", "$u1")
    Len:= Strlen(Clipboard) ;Set number of characters
    SendInput, ^v ; Pastes new text
    Send +{left %Len%} ;Re-select text
    VarSetCapacity(clipSave, 0) ; Free memory
    Clipboard := clipSave ;Restore previous clipboard
}

ConvertMixed()
{
    clipSave := Clipboard
    Clipboard = ; Empty the clipboard so that ClipWait has something to detect
    SendInput, ^c ; Copies selected text
    ClipWait
    StringReplace, Clipboard, Clipboard, `r`n, `n, All ; Fix for SendInput sending Windows linebreaks
    StringUpper Clipboard, Clipboard, T
    Len:= Strlen(Clipboard) ;Set number of characters
    SendInput, ^v ; Pastes new text
    Send +{left %Len%} ;Re-select text
    VarSetCapacity(clipSave, 0) ; Free memory
    Clipboard := clipSave ;Restore previous clipboard
}

#IfWinNotActive

                        ; Convert selected text to inverted case
                                    ;    Ex: THIS_is-a_tESt -> this_IS-A_TesT
; Usage:ctrl+Shift+I 
^+i::
    Convert_Inv()
RETURN
Convert_Inv()
{
    ; save original contents of clipboard
    Clip_Save:= ClipboardAll

    ; empty clipboard
    Clipboard:= ""

    ; copy highlighted text to clipboard
    Send ^c{delete}

    ; clear variable that will hold output string
    Inv_Char_Out:= ""

    ; loop for each character in the clipboard
    Loop % Strlen(Clipboard)
    {
        ; isolate the character
        Inv_Char:= Substr(Clipboard, A_Index, 1)

        ; if upper case
        if Inv_Char is upper
        {
            ; convert to lower case
           Inv_Char_Out:= Inv_Char_Out Chr(Asc(Inv_Char) + 32)
        }
        ; if lower case
        else if Inv_Char is lower
        {
            ; convert to upper case
           Inv_Char_Out:= Inv_Char_Out Chr(Asc(Inv_Char) - 32)
        }
        else
        {
            ; copy character to output var unchanged
           Inv_Char_Out:= Inv_Char_Out Inv_Char
        }
    }
    ; send desired text
    Send %Inv_Char_Out%
    Len:= Strlen(Inv_Char_Out)

    ; highlight desired text
    Send +{left %Len%}

    ; restore original clipboard
    Clipboard:= Clip_Save
}
                            ; Text–only paste from ClipBoard (while the clipboard formatted text itself is being untouched)
; Usage:ctrl+Shift+I 
^+v::                          
   Clip0 = %ClipBoardAll%
   Clipboard = %Clipboard%  ; Convert clipboard text to plain text.
   StringReplace, clipboard, clipboard,%A_SPACE%",", All ; Remove space introduced by WORD
   StringReplace, Clipboard, Clipboard, `r`n, `n, All ; Fix for Send sending Windows linebreaks
   Send ^v                       ; For best compatibility: SendPlay
   Sleep 50                      ; Don't change clipboard while it is pasted! (Sleep > 0)
   ClipBoard = %Clip0%           ; Restore original ClipBoard
   VarSetCapacity(Clip0, 0)      ; Free memory
Return

                                    ; Wrap selected text in double quotes->" "
; Usage:Ctrl+Shift+Q
^+q::
    clipSave := Clipboard
    Clipboard = ; Empty the clipboard so that ClipWait has something to detect
    SendInput, ^c ; Copies selected text
    ClipWait
    StringReplace, Clipboard, Clipboard, `r`n, `n, All ; Fix for SendInput sending Windows linebreaks
    Clipboard := Chr(34) . Clipboard . Chr(34)
    Len:= Strlen(Clipboard) ;Set number of characters
    SendInput, ^v ; Pastes new text
    Send +{left %Len%} ;Re-select text
    VarSetCapacity(clipSave, 0) ; Free memory
    Clipboard := clipSave ;Restore previous clipboard
Return

; RELOAD 
!+^x::
   SplashTextOn,,,Updated script,
   Sleep,200
   SplashTextOff
   Reload
   Send, ^s
Return
Użytkownik 22450
źródło
0

Najwyraźniej naciśnięcie Spo aktywacji menu kontekstowego na podświetlonym tekście właśnie to zrobi (tutaj Chrome 78). Menu kontekstowe można otworzyć za pomocą Shift+F10lub za pomocą specjalnego przycisku „menu kontekstowego” dla słowa kluczowego.

Te dwa skróty można połączyć w jeden za pomocą AutoHotKey :

^g::
  Send +{F10}
  Send s
Return

Spowoduje to na przykład Ctrl+Gwyszukiwanie wyróżnionego tekstu w nowej karcie.

Główną zaletą tej metody w porównaniu z odpowiedzią @Keltari jest to, że nie korzysta ona ze schowka, a zatem nie zastępuje tam poprzednich wartości.

Eyal Roth
źródło
-1

Użyj tego rozszerzenia

https://chrome.google.com/webstore/detail/hotkeys-for-search/gfmeadbjkfhkeklgaomifcaihbhpeido

Jak tego użyć:

  1. Wybierz tekst na stronie internetowej za pomocą myszy.
  2. Naciśnij skrót klawiaturowy, aby wyszukać wybrany tekst w żądanej witrynie.

Domyślne skróty:

Alt + Q = Google

Alt + W = Wikipedia

Alt + A = Grafika Google

Alt + S = YouTube

a jeśli chcesz zautomatyzować wiele zadań, to niestandardowe rozszerzenie skrótów dla Chrome

https://chrome.google.com/webstore/detail/keyboard-fu/cafiohcgicchdfciefpbjjgigbmajndb

Rkv88 - Kanyan
źródło
1
Samo polecanie oprogramowania nie daje odpowiedzi. Dodaj kroki niezbędne do skonfigurowania oprogramowania, aby odpowiedzieć na pytanie.
music2myear
Przeczytaj Jak polecić oprogramowanie, aby uzyskać porady dotyczące tego, jak powinieneś polecać oprogramowanie. Powinieneś podać przynajmniej link, dodatkowe informacje o samym oprogramowaniu oraz o tym, jak można go użyć do rozwiązania problemu w pytaniu.
DavidPostill
OK, zredagowałem tę odpowiedź, chociaż jest bardzo jasne, że każdy może kliknąć link, od razu zobaczy, jak go użyć. Informacja szczęśliwa teraz
Rkv88 - Kanyan