แป้นพิมพ์ลัดเพื่อค้นหาข้อความที่เลือก / ไฮไลต์


17

ใน Chrome คุณสามารถเน้นข้อความบนหน้าเว็บและใช้เมนูบริบทคลิกขวาเพื่อเปิดการค้นหา google สำหรับข้อความที่เลือกในแท็บใหม่

มันจะสะดวกมากถ้าฉันสามารถเข้าถึงคุณลักษณะนี้โดยใช้แป้นพิมพ์ลัดแทนเมนูคลิกขวา ฉันได้ลองค้นหาส่วนขยายที่มีอยู่แล้วและยังกำจัดรายการแป้นพิมพ์ลัดที่มีอยู่ที่นี่: https://support.google.com/chrome/answer/157179?hl=th

ใครบ้างรู้วิธีที่จะบรรลุเป้าหมายนี้


คำถามเกี่ยวกับการทำงานของเว็บเบราว์เซอร์เป็นของผู้ใช้ขั้นสูง
เบียร์

คำตอบ:


9

สิ่งนี้จะใช้งานได้ใน Chrome:

  • เน้นข้อความก่อน
  • Hit CTRL+ C- นี่เป็นการคัดลอกข้อความ
  • Hit CTRL+ T- สิ่งนี้จะสร้างแท็บใหม่และทำให้เป็นจุดสนใจ
  • Hit CTRL+ V- สิ่งนี้วางข้อความในแถบอเนกประสงค์ (Chrome มีค่าเริ่มต้นที่เคอร์เซอร์อยู่ที่นั่น)
  • Hit Enter- สิ่งนี้จะค้นหาข้อความในแถบอเนกประสงค์

ต้องการทำให้เป็นอัตโนมัติหรือไม่ ใช้AutoHotKeyเพื่อทำให้เป็นแมโครอัตโนมัติโดยใช้CTRL+ Alt+ S ใช้สคริปต์นี้ ::

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

FYI ฉันทดสอบสคริปต์นี้และใช้งานได้ใน Chrome


6

ฉันมีสองคำตอบสำหรับเรื่องนี้ใน AHK เช่นกัน

สิ่งนี้ใช้ได้ทั่วโลกทุกที่ (ไม่เพียง แต่ใน Chrome เท่านั้น) เพียงเลือกข้อความแล้วกดWindows+G

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

หนึ่งคือนี้จากฉันคำตอบที่นี่ เลือกข้อความและกดWindows+ +Shift Gสิ่งนี้แตกต่างตรงที่มันให้ลิงค์ในคลิปบอร์ด

; 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

ตัวเลือกแรกให้ฉันล่าสุด ctrl + c หรือ win + g ฉันไม่แน่ใจว่าทำไม
josh

คุณต้องเลือกข้อความก่อน นั่นเป็นเหตุผลเดียวที่ฉันนึกถึงการได้รับคลิปสุดท้ายหรือคุณใช้ผู้จัดการคลิปบอร์ด? หรือลองเพิ่มสิ่งนี้ลงในสคริปต์ของคุณหลังจากSend, ^cคำสั่งเพื่อดูว่ามีอะไรอยู่ในคลิปบอร์ดของคุณTrayTip, Clipboard Contents, %clipboard% rn
Parivar Saraff

0


ส่วนขยายนี้สามารถช่วยคุณได้:
https://chrome.google.com/webstore/detail/searchbar/fjefgkhmchopegjeicnblodnidbammed
หลังจากติดตั้งทำเครื่องหมายตัวเลือกเหล่านั้น:
* เปิดผลการค้นหาในแท็บใหม่ตามค่าเริ่มต้น (ไม่มีผลกับปุ่มลัด; คลิกเพื่อสลับแท็บใหม่)
* เปิดแท็บใหม่ในเบื้องหน้าโดยค่าเริ่มต้น (กด Shift เพื่อสลับระหว่างพื้นหน้าและพื้นหลัง)
ตอนนี้คุณสามารถเรียกใช้การค้นหาข้อความที่เลือกด้วย Ctrl + Shift + Alt + G ทางลัด


0

จากสิ่งที่ Parivar Saraff ได้แนะนำไว้ที่นี่นี่คือสคริปต์ AutoHotKey 3 in 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

}

ยังเน้นสคริปต์การแปลงข้อความ (การรวมกันของรูปแบบสคริปต์ดังกล่าวบนเว็บ):

;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

0

เห็นได้ชัดว่าการกดSหลังจากเปิดใช้งานเมนูบริบทในข้อความที่เน้นจะทำเช่นนั้น (Chrome 78 ที่นี่) เมนูบริบทสามารถเปิดได้ด้วยShift+F10หรือด้วยปุ่ม "เมนูบริบท" เฉพาะในคำหลักของคุณ

ทางลัดทั้งสองนี้สามารถรวมกันเป็นหนึ่งเดียวโดยใช้AutoHotKey :

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

ตัวอย่างเช่นสิ่งนี้จะทำการCtrl+Gค้นหาข้อความที่เน้นสีในแท็บใหม่

ข้อได้เปรียบที่สำคัญของวิธีนี้เหนือคำตอบ @Keltari คือมันไม่ได้ใช้คลิปบอร์ดและดังนั้นจึงไม่ได้เขียนทับค่าก่อนหน้านี้ที่นั่น


-1

ใช้ส่วนขยายนี้

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

วิธีใช้:

  1. เลือกข้อความบนหน้าเว็บโดยใช้เมาส์
  2. กดแป้นพิมพ์ลัดเพื่อค้นหาข้อความที่เลือกในเว็บไซต์ที่คุณต้องการ

ทางลัดเริ่มต้น:

Alt + Q = Google

Alt + W = Wikipedia

Alt + A = Google Images

Alt + S = YouTube

และหากคุณต้องการทำงานหลายอย่างโดยอัตโนมัติกับเราเรามีส่วนขยายฮอตคีย์แบบกำหนดเองนี้สำหรับโครเมี่ยม

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


1
เพียงแค่แนะนำซอฟต์แวร์ไม่ได้รับคำตอบ โปรดเพิ่มขั้นตอนที่จำเป็นในการตั้งค่าซอฟต์แวร์เพื่อตอบคำถาม
music2myear

โปรดอ่านฉันจะแนะนำซอฟต์แวร์สำหรับคำแนะนำเกี่ยวกับวิธีการแนะนำซอฟต์แวร์ได้อย่างไร คุณควรให้ลิงค์อย่างน้อยข้อมูลเพิ่มเติมบางอย่างเกี่ยวกับตัวซอฟต์แวร์เองและวิธีการใช้ในการแก้ปัญหาในคำถาม
DavidPostill

ตกลงฉันแก้ไขคำตอบนั้นแม้ว่าจะชัดเจนว่าทุกคนสามารถคลิกที่ลิงก์จะเห็นได้ทันทีว่าจะใช้งานอย่างไรข้อมูลมีความสุขตอนนี้
Rkv88 - Kanyan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.