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

时间:2014-04-25 15:29:22

标签: sublimetext2 sublimetext emmet

以下是我要完成的事情:

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

例如,我想在Sublime中突出显示“晚安月亮”并将该字符串转换为'<?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 个答案:

答案 0 :(得分:3)

您可以尝试使用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>

答案 1 :(得分:0)

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

E.g。在您的情况下,您应该使用{<?php echo my_function("$#"); ?>}缩写

包装所选文本