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