No Chrome, você pode destacar algum texto em uma página da web e usar o menu de contexto do botão direito para abrir uma pesquisa no Google pelo texto selecionado em uma nova guia.
Seria muito conveniente se eu pudesse acessar esse recurso usando um atalho de teclado em vez do menu do botão direito. Tentei pesquisar extensões existentes e também vasculhei a lista de atalhos de teclado existentes aqui:https://support.google.com/chrome/answer/157179?hl=en
Alguém sabe uma maneira de conseguir isso?
Responder1
Isso funcionará no Chrome:
- Primeiro destaque algum texto
- Hit CTRL+ C- Isso copia o texto
- Hit CTRL+ T- Isso cria uma nova aba e a torna o foco
- Hit CTRL+ V- Isso cola o texto na Omnibox (o padrão do Chrome é o cursor lá)
- Hit Enter- Isso pesquisará o texto na Omnibox
Quer automatizar isso? UsarAutoHotKeypara torná-lo uma macro automática usando CTRL+ Alt+ S Use este script::
^!s::
Send ^c
Send ^t
Send ^v
Send {Enter}
Return
Para sua informação, testei este script e ele funciona no Chrome.
Responder2
Também tenho duas respostas para isso no AHK.
Isso é aplicável globalmente em qualquer lugar (não apenas no Chrome). Basta selecionar o texto e pressionar Windows+G
#g:: ;;Google selected text
Send, ^c
Run, http://www.google.com/search?q=%Clipboard%
Return
Uma é esta do meuresponda aqui. Selecione Texto e pressione Windows+ Shift+ G. Isso é diferente porque apenas fornece um link na área de transferência.
; 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
Responder3
Com base no que Parivar Saraff sugeriuaqui, aqui está um script AutoHotKey 3 em 1:
;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
}
também destaque script de conversão de texto(uma combinação dessas variações de script na web):
;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
Responder4
UsandoAutoHotKeycomo acima
^!s::
Send ^c
Sleep 100
Send ^t
Send ^v
Send {Enter}
Return
PERCEBER: adicionei 'Sleep 100' para evitar pesquisas anteriores na área de transferência