如何在Pluma(Gedit fork)中注释多行?

时间:2013-05-30 05:27:47

标签: python comments editor text-editor gedit

有没有办法在Pluma(显然是Gedit fork)中注释掉一段代码? 例如在python中,我想选择一个代码块:

def foo(bar):
    return bar * 2

并评论出来:

#    def foo(bar):
#        return bar * 2

5 个答案:

答案 0 :(得分:1)

基于M.O.基茨卡回答, 我使用了以下紧凑代码段:

$<
lines = $PLUMA_SELECTED_TEXT.split("\n");
output = "";
for line in lines:
    output += "#" + line + "\n";

return output
>

您可以在代码段管理器中使用窗口内的任何python代码。

答案 1 :(得分:0)

  1. 激活代码段插件
  2. 添加可能如下所示的代码段:“#$ PLUMA_SELECTED_TEXT”
  3. 了解更多信息: http://www.tuxradar.com/content/save-time-gedit-snippets

答案 2 :(得分:0)

根据bAnEEd_meeY-dL0的早期回答,这就是我的意思。

  1. 激活代码段插件
  2. 添加看起来像

    的代码段
    $<
    selected_txt = $PLUMA_SELECTED_TEXT
    output = "" 
    for line in selected_txt.split("\n"):
        line = "#" + line
        output = output + line+ "\n" 
    
    return output
    >
    
  3. 不要忘记填写“激活”部分。你不需要填写所有东西。我把Ctrl + M放在捷径。

  4. 注意:这将注释多行,但在最底线添加一行。

答案 3 :(得分:0)

根据以前的答案和一些研究,我提出了一个更多的特色&#39;片段的版本: - )

选择当前行或有光标时注释,例如:

ALTER TABLE new_table_name
    ADD COLUMN column1 INT NOT NULL AUTO_INCREMENT FIRST, 
    ADD PRIMARY KEY(column1), 
    ADD COLUMN column2 VARCHAR(16) AFTER column1,  -- no extra ALTER; not SECOND
    CHANGE COLUMN column3 new_column3 VARCHAR(20),
    MODIFY COLUMN column4 SOME_TYPE AFTER new_column3, -- need type, and must
                                                       -- use new column name
    MODIFY COLUMN column5 SOME_TYPE AFTER column4, -- not SIXTH
    CHANGE COLUMN column6 DECIMAL(7,2);

按CTRL + M

from requests import post # cursor currently here or this line selected
from collections import defaultdict

在选择或使用注释行中的光标时按CTRL + M再次取消注释

注释多行并切换块上的注释,例如:

#from requests import post
from collections import defaultdict

按CTRL + M

#from requests import post # both lines selected
from collections import defaultdict

当评论该行时,您始终可以通过CTRL + M取消注释。这是片段:

from requests import post # both lines selected
#from collections import defaultdict

答案 4 :(得分:0)

这是我的解决方案。功能:

  • 切换代码的​​注释/取消注释
  • 在评论/取消评论时保留缩进
  • 如果未选择文本,则注释/取消注释当前行

享受。

$<
import re

def get_lines():
    selected = $PLUMA_SELECTED_TEXT
    if selected:
        return selected
    else:
        return $PLUMA_CURRENT_LINE

def toggle(selected_txt):
    lines = [] 
    for line in selected_txt.split("\n"):
        if not line:
            lines.append(line)
            continue
        try:
            spaces, content = re.findall(r'^\s+|.+', line)
        except:
            spaces = ""
            content = line

        if content.startswith("#"):
            lines.append("{}{}".format(spaces, content[1:]))
        else:
            lines.append("{}#{}".format(spaces, content))

    return "\n".join(lines)

return toggle(get_lines())
>