在我的自动热键脚本中,我创建了以下热键,我认为这些热键可以让我将光标移动到行尾或行首,而不是使用 Home 和 End。
#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.
^Right::End
^Left::Home
不幸的是,这实际上会将光标移动到整个文本文件的开头或结尾。我在多个文本编辑器中测试过,结果都是一样的。
我无法通过 Google 搜索或在文档中看到有关“EOL”字符的任何信息。
我做对了吗?这只是事情的本质吗?或者还有其他方法可以完成我想做的事情吗?
答案1
AHK 正在发送正确的键,但发送键时,该键Ctrl
已被按下。并且编辑器将其视为Ctrl + Home
或Ctrl + End
。这是将光标移动到文件开头或结尾的快捷方式。
我可以通过使用设置按键延迟以及Send
。您可以尝试以下脚本。
SetKeyDelay, 500, 10
^Right::Send {End}
^Left::Send {Home}
答案2
尝试这个:
^left::
send {home}
return
^right::
send {end}
return
答案3
对我有用:
!h::Send {HOME} ; h ALT + RIGHT (Cursor to beginning of line)
;!~::Send {END} ; ; ALT + LEFT (Cursor to end of line)
!~::Send {END} ; ; ALT + LEFT (Cursor to end of line)