有没有办法用autohotkey选择最后的 N 符号?
我正在创建一个复制Sublime Text的重复功能的函数( Ctrl + Shift + D )。我希望在通过SendInput ^C{right}^V
从技术上讲,我可以做类似的事情:
selectBefore(n){
Loop, %n% {
SendInput +{Left}
}
}
但这表现不佳。
另一种方法是使用 Shift + Home 。例如,Send +{Home}
,然后计算所选符号的数量,然后再计算Send {Left}
和Send +{Home}
,依此类推,直到达到重复字符串的长度。
我没有看到更好的选择。
在插入符号之前选择 N 符号是否有一种好的基本方法?
答案 0 :(得分:3)
从我读到的关于ST2的内容(感谢您让我知道)是^ + d复制所选文本或如果没有选择任何内容,则复制整行。
这会有用吗?
TempCB = %ClipBoard% ; Park clipboard (text) content, Other content (format, images, etc.) will be lost.
ClipBoard = ; Clear clipboard
Send, ^c ; Grab selected text
Sleep, 100 ; Wait 0.1 seconds for clipboard (clipboard will not get filled if nothing is selected)
if (Clipboard = "") ; Nothing selected, thus copy whole line
{
Send, {Home}+{End}^c ; Select line and copy to clipbard
}
MoveBack := StrLen(ClipBoard)
MoveFwd := MoveBack
MoveBack++ ; Move one step back further back due to earlier step {right}
Send, {Right}{Left}^v{Right}{left %Moveback%}+{Right %MoveFwd%} ; Go to end of selected text (in MS notepad this is will jump over the first next char., thus a jump back as well), add a space and paste.
ClipBoard = %TempCB% ; Restore (text part) of previous clipboard content.
Return
我在MS Notepad中对此进行了测试,其他编辑器可能表现不同(特别是在跳到所选文本的末尾)。 该脚本现在复制并粘贴所选文本并突出显示新粘贴的文本。