Autohotkey 如何禁用自动热键中的语法字符?

Autohotkey 如何禁用自动热键中的语法字符?,autohotkey,Autohotkey,我想在autohotkey中创建一个程序,这样当键入~pdo时,它就会用一长行代码替换它。我如何做才能使里面的符号不被格式化为自动热键语法 我尝试了以下代码: ~pdo:Send, $pdo = new PDO('mysql:dbname=chat;host=localhost', 'root', 'simon sleeping123!@#'); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAt

我想在autohotkey中创建一个程序,这样当键入~pdo时,它就会用一长行代码替换它。我如何做才能使里面的符号不被格式化为自动热键语法

我尝试了以下代码:

~pdo:Send,

$pdo = new PDO('mysql:dbname=chat;host=localhost', 'root', 'simon sleeping123!@#');
 
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
date_default_timezone_set('America/New_York');
作为回报,我得到了错误消息: 行文本:$pdo->setAttribute(pdo::ATTR\u EMULATE\u PREPARES,false);错误:无效热键。

您正在查找的是,而不是。热键在按住键时触发,而热键字符串在按顺序键入键时触发

此外,看看这是一个多行热字符串,让它工作

基于此,下面是我的代码(在键入“~pdo”时触发):

您正在寻找一个而不是一个。热键在按住键时触发,而热键字符串在按顺序键入键时触发

此外,看看这是一个多行热字符串,让它工作

基于此,下面是我的代码(在键入“~pdo”时触发):


对于这样长的输入,我建议使用和CTRL+V。如果不粘贴文本,则需要将其发送进来,以避免将某些字符转换为某些按钮。例如
#
到Windows键。
此外,还需要添加换行符。下面将详细介绍

首先,在键入
~pdo
时使用触发器。用你认为合适的。我想你只需要一点点就可以了

要发送多行内容,可以使用换行符
`n
显式指定换行符:

或者,您可以更方便地使用:


这是你完成的剧本
^v
表示CTRL+v,并且使用了
LTrim
选项,这样我们仍然可以正确格式化代码,而无需在继续部分的实际文本中添加额外的空格。

我建议对如此长的输入使用和CTRL+v。如果不粘贴文本,则需要将其发送进来,以避免将某些字符转换为某些按钮。例如
#
到Windows键。
此外,还需要添加换行符。下面将详细介绍

首先,在键入
~pdo
时使用触发器。用你认为合适的。我想你只需要一点点就可以了

要发送多行内容,可以使用换行符
`n
显式指定换行符:

或者,您可以更方便地使用:


这是你完成的剧本
^v
表示CTRL+v,并且使用了
LTrim
选项。我们仍然可以正确格式化代码,而无需在继续部分的实际文本中添加额外的空格。

send命令需要处于文本模式。在升华文本中运行代码时,它会执行一些奇怪的操作。它创建了一个新文件,其中一半数据在一个文件中,另一半在另一个文件中。你知道这样做的原因吗?send命令需要处于文本模式。当你的代码在sublime文本中运行时,它会做一些奇怪的事情。它创建了一个新文件,其中一半数据在一个文件中,另一半在另一个文件中。你知道这样做的原因吗?非常感谢你的帮助。删除所有换行符并将其替换为
n
n可以消除错误消息。然后盲送也帮助摆脱了不想要的角色。非常感谢你的帮助。删除所有换行符并将其替换为
n
n可以消除错误消息。然后盲目发送也有助于摆脱不需要的字符。
:*:~pdo::
MyMultilineHotstring =
(
$pdo = new PDO('mysql:dbname=chat;host=localhost', 'root', 'simon sleeping123!@#');
 
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
date_default_timezone_set('America/New_York');
)
SendInput, %MyMultilineHotstring%
$pdo = new PDO('mysql:dbname=chat;host=localhost', 'root', 'simon sleeping123!@#');`n`n$pdo->setAttribute(PDO::ATTR_EM...
:*:~pdo::
    Clipboard := "
    (LTrim
    $pdo = new PDO('mysql:dbname=chat;host=localhost', 'root', 'simon sleeping123!@#');
 
    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    date_default_timezone_set('America/New_York');
    )"

    SendInput, ^v
return