在Sublime中有一种方法可以将选择的文本包装在两个单独定义的字符串中吗?

这是我想要完成的事情:

我想在Sublime Text 2中选择一个短语(例如,让我们使用短语“Goodnight Moon”)并用两个不是标准HTML字符串的单独字符串包装该短语 .

例如,我想在Sublime中突出显示"Goodnight Moon"并将该字符串转换为 '<?php echo my_function("Goodnight Moon"); ?>'

所以,正在进行包装的两个字符串将是 '<?php echo my_function("''"; ?>'

像这样的东西:

<?php echo my_function(" HIGHLIGHTED_STRING "); ?>

有关如何使用Sublime完成此任务的任何想法?我已经尝试过Emmet(http://docs.emmet.io/actions/wrap-with-abbreviation),但我只能在标准匹配的HTML标签中包含一个字符串 .

回答(2)

2 years ago

您可以尝试使用Sublime Text的Snippet功能 . 这是一个让您入门的示例 .

<snippet>
    <content><![CDATA[
<?php echo ${0:my_function}("${SELECTION}"; ?>
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <!-- <tabTrigger>hello</tabTrigger> -->
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <!-- <scope>source.python</scope> -->
</snippet>

2 years ago

您可以使用text node键入任意文本,使用$# placeholder来决定插入包装内容的位置 .

例如 . 在您的情况下,您应该使用 {<?php echo my_function("$#"); ?>} 缩写包装所选文本