使用命令到Gedit的Manage Snippets插件

时间:2017-05-31 06:39:37

标签: plugins gedit

我有gedit和Manage Snippets插件,我想创建一个片段来评论一行(它很容易,只需添加:"#$ GEDIT_CURRENT_LINE",用于python代码,例如)但是,如果该行被评论过,我想取消它。 是否有一种特殊的语法可供使用,我不知道,python或c ++语句就像在$ GEDIT_CURRENT_LINE上有条件的if?因为在片段上写的任何代码都只会打印。

1 个答案:

答案 0 :(得分:0)

好的,实际上,我只想找到一种方法。 要将bash命令用于manage snippets插件,只需使用selectpicker()即可。 例如,就我而言,要知道该行的第一个特征是什么:`和if语句:

`${GEDIT_CURRENT_LINE:0:1}`

这个片段会评论该行,或者如果它被评论过,则取消注释。 (就像Notepad ++那样)。

编辑:您必须使用要重写的行创建一个新变量:``if [ ${GEDIT_CURRENT_LINE:0:1} == "#" ]; then echo ${GEDIT_CURRENT_LINE:2}; else GEDIT_CURRENT_LINE_STR=$GEDIT_CURRENT_LINE; echo "# $GEDIT_CURRENT_LINE_STR"; fi`` 。如果没有该新变量,当前行文本可以解释为命令,然后只是因为错误而擦除行。 (我更新了上面的代码)

Edit2:这里有一个片段用python注释/取消注释所有选定的行(而不仅仅是像以前一样):

GEDIT_CURRENT_LINE_STR=$GEDIT_CURRENT_LINE;