第1版:复制当前选中的内容并搜索
$^c:: ;^表示Ctrl键。前面加一个$就不会递归了。说实话,我也不太清楚啥意思,是从知乎上查到了。Send,^c ;表示同时发送 Ctrl+c 两个键,即复制选中的内容。Sleep 100 ;等待100毫秒Run https://www.so.com/s?ie=utf-8&shb=1&src=home_haosou.com&q=%clipboard%;使用360搜索复制的内容。%clipboard% 表示剪贴板的内容。
第2版:快捷键改为Shift+C,及打开链接
Ctrl+C是系统级的快捷键。有时候,我按下Ctrl+C只是想复制,不想搜索。所以修改快捷键为Shift+C。 有时复制的是链接,我希望打开链接,而不是搜索。
+c:: ; +表示Shift键。Send,^c ;表示同时发送 Ctrl+c 两个键,即复制选中的内容。Sleep 100 ;等待100毫秒StringLeft,myvar1,clipboard,4 ;取剪贴板的前4个字符StringLeft,myvar2,clipboard,7 ;取剪贴板的前7个字符if ( myvar1 != "www.") and (myvar2 != "http://") and (myvar2 != "https:/"); != 表示不等于;and 表示左右两边的条件要同时成立。粗略判断是否为链接。Run https://www.so.com/s?ie=utf-8&shb=1&src=home_haosou.com&q=%clipboard%;使用360搜索复制的内容。%clipboard% 表示剪贴板的内容。elseRun %clipboard% ;打开链接return
第3版:同时打开多个链接
又是一番折腾,第3版代码:
+c:: ; +表示Shift键。Send,^c ;表示同时发送 Ctrl+c 两个键,即复制选中的内容。Sleep 100 ;等待100毫秒StringLeft,myvar1,clipboard,4 ;取剪贴板的前4个字符StringLeft,myvar2,clipboard,7 ;取剪贴板的前7个字符if ( myvar1 != "www.") and (myvar2 != "http://") and (myvar2 != "https:/"); != 表示不等于;and 表示左右两边的条件要同时成立。粗略判断是否为链接。Run https://www.so.com/s?ie=utf-8&shb=1&src=home_haosou.com&q=%clipboard%;使用360搜索复制的内容。%clipboard% 表示剪贴板的内容。else{Loop,parse, clipboard, `t`n, ;循环解析剪贴板的内容,tab和换行符是表示分隔的符号{Run %A_LoopField% ; %A_LoopField% 表示每次解析得到的内容Sleep 20}}return
第4版 选中多行文本时,希望能同时搜索
代码见下:
+c:: ;+ 表示Shift键。Send,^c ;表示同时发送 Ctrl+c 两个键,即复制选中的内容。Sleep 100 ;等待100毫秒StringLeft,myvar1,clipboard,4 ;取剪贴板的前4个字符StringLeft,myvar2,clipboard,7 ;取剪贴板的前7个字符Result := RegExReplace(clipboard, "(*BSR_ANYCRLF)\R+", "`n") ;去除文本中的空行。不过发现无法删除最后一行if ( myvar1 != "www.") and (myvar2 != "http://") and (myvar2 != "https:/"); != 表示不等于;and 表示左右两边的条件要同时成立。粗略判断是否为链接。Loop,parse, Result, `n, ;循环解析剪贴板的内容,换行符是表示分隔的符号{myvar3 := Trim(A_LoopField, OmitChars=" `t") ;去除首尾的空格和tabmyvar4 := StrLen(myvar3) ;取得该行的长度{ if (myvar4)>0 ;长度大于0,表示不是空行{ Run https://www.so.com/s?ie=utf-8&shb=1&src=home_haosou.com&q=%A_LoopField%; %A_LoopField% 表示每次解析得到的内容Sleep 20}elsereturn}}else{Loop,parse, clipboard, `t`n, ;循环解析剪贴板的内容,tab和换行符是表示分隔的符号{Run %A_LoopField% ; %A_LoopField% 表示每次解析得到的内容Sleep 20}}return