如何可以寫一個熱鍵(這在任何編輯工作)的``如何``
如雙擊「文本」包當前選定的文本換行當前選定的文本,它變爲選中,然後通過按下鍵單``它 被轉換爲
text
以下爲僞代碼和實際的代碼組合。 <>
內的文字是我不確定的
^<COMMAND FOR PRESSING ` KEY>::
KeyWait Control
<STORE CURRENTLY SELECTED TEXT IN MEMORY>
SendInput `<STORED SELECTED TEXT>'
return
如何可以寫一個熱鍵(這在任何編輯工作)的``如何``
如雙擊「文本」包當前選定的文本換行當前選定的文本,它變爲選中,然後通過按下鍵單``它 被轉換爲
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
包含窗口的剪貼板。另外,你不需要任何keywaits。 ahk自己通過熱鍵觸發器管理併發修飾符。我也建議使用sendraw
將不治療#
作爲贏得 -button,+
作爲移等。如果多個線被選擇
怪異
腳本插入的每個線之間的新行。當使用
msgBox, %currently_selected%
而不是任何send
命令時,換行符顯示正確...顯然有一些奇怪的格式正在進行,我通過從字符串中刪除所有回車換行(CR)(`r
)選中的文字。給定的解決方案適用於我的德語鍵盤。 對於其他鍵盤佈局,這可能會有所不同。對我而言,需要
%A_Space%
sendraw ``%A_Space%
(至少在第二個),因爲如果你聲明sendraw ``
(最後一個字面空格字符),AHK將忽略它。你也可以把所有三個send
S IN這樣一行sendraw `` %currently_selected%``%A_Space%
另一種解決方案可能是
sendInput ````{BS}%currently_selected%````{BS}
或者只是
sendRaw `%currently_selected%`
最後:如果你想讓一切變得更容易,使用#EscapeChar命令並將分隔符從
`
更改爲\
或某物。類似。
謝謝,但那對我不起作用。行爲是,當按下'選擇文本後,文本本身重複約5次,並且還發送多個回車符。 shift +'用'¬ –
替換整個文本好吧我編輯它。 – Blauhirn
地獄這些在stackoverflow反推動我瘋了,特別是與ahk組合。 – Blauhirn