如何将当前选定的文本包装在``中
How to wrap currently selected text in ``
如何编写一个热键(在任何编辑器中都可以使用)来将当前选定的文本包装在 ``
e.g double click "text", it becomes selected, then by pressing key for single `` it
is converted to text
这里是伪代码和实际代码的混合。 <>
中的文字是我不确定的内容
^<COMMAND FOR PRESSING ` KEY>::
KeyWait Control
<STORE CURRENTLY SELECTED TEXT IN MEMORY>
SendInput `<STORED SELECTED TEXT>'
return
你的方法已经很不错了。试试这个:
$`::
clp_tmp := ClipboardAll
send ^c
currently_selected := Clipboard
stringReplace, currently_selected, currently_selected, `r,, All
Clipboard := clp_tmp
sendraw ``%A_Space%
sendraw %currently_selected%
sendraw ``%A_Space%
return
$
是必需的,否则 sendraw ``
会重新触发此热键。内置变量 clipboard / clipboardAll
包含 windows' 剪贴板。此外,您不需要任何按键等待。 ahk 自行管理来自热键触发器的并发修饰符。我还建议使用 sendraw
,它 不会 将 #
视为 win 按钮,+
作为Shift 等等。
script inserts new lines between each line if multiple lines are selected
奇怪。当使用 msgBox, %currently_selected%
而不是任何 send
命令时,换行符会正确显示...显然存在一些奇怪的格式,我通过简单地删除所有 Carriage Returns (CR ) (`r
) 来自根本不改变所选文本的字符串。
给定的解决方案适用于我的德语键盘。 对于其他键盘布局,这可能有所不同。对我来说,sendraw ``%A_Space%
中的 %A_Space%
(至少在第二个中)是必需的,因为如果您声明 sendraw ``
(最后是文字 space 字符),AHK 将忽略它。您也可以将所有三个 send
放在一行中,例如
sendraw `` %currently_selected%``%A_Space%
另一种解决方案可能是
sendInput ````{BS}%currently_selected%````{BS}
或者只是简单地
sendRaw `%currently_selected%`
最后:如果您想使一切变得更简单,请使用 #EscapeChar 命令并将分隔符从 `
更改为 \
或其他。相似。
如何编写一个热键(在任何编辑器中都可以使用)来将当前选定的文本包装在 ``
e.g double click "text", it becomes selected, then by pressing key for single `` it is converted to
text
这里是伪代码和实际代码的混合。 <>
中的文字是我不确定的内容
^<COMMAND FOR PRESSING ` KEY>::
KeyWait Control
<STORE CURRENTLY SELECTED TEXT IN MEMORY>
SendInput `<STORED SELECTED TEXT>'
return
你的方法已经很不错了。试试这个:
$`::
clp_tmp := ClipboardAll
send ^c
currently_selected := Clipboard
stringReplace, currently_selected, currently_selected, `r,, All
Clipboard := clp_tmp
sendraw ``%A_Space%
sendraw %currently_selected%
sendraw ``%A_Space%
return
$
是必需的,否则 sendraw ``
会重新触发此热键。内置变量 clipboard / clipboardAll
包含 windows' 剪贴板。此外,您不需要任何按键等待。 ahk 自行管理来自热键触发器的并发修饰符。我还建议使用 sendraw
,它 不会 将 #
视为 win 按钮,+
作为Shift 等等。
script inserts new lines between each line if multiple lines are selected
奇怪。当使用 msgBox, %currently_selected%
而不是任何 send
命令时,换行符会正确显示...显然存在一些奇怪的格式,我通过简单地删除所有 Carriage Returns (CR ) (`r
) 来自根本不改变所选文本的字符串。
给定的解决方案适用于我的德语键盘。 对于其他键盘布局,这可能有所不同。对我来说,sendraw ``%A_Space%
中的 %A_Space%
(至少在第二个中)是必需的,因为如果您声明 sendraw ``
(最后是文字 space 字符),AHK 将忽略它。您也可以将所有三个 send
放在一行中,例如
sendraw `` %currently_selected%``%A_Space%
另一种解决方案可能是
sendInput ````{BS}%currently_selected%````{BS}
或者只是简单地
sendRaw `%currently_selected%`
最后:如果您想使一切变得更简单,请使用 #EscapeChar 命令并将分隔符从 `
更改为 \
或其他。相似。