如何在emacs的多行前面添加#?

时间:2010-08-19 21:26:43

标签: emacs

我需要在Python中注释掉一些代码块。 我怎么能用emacs做到这一点?如何在块的每一行的开头添加#字符?

4 个答案:

答案 0 :(得分:61)

您可以使用

使用comment-region命令
M-x comment-region

编辑:正如@Gilles在评论中所建议的那样,您可以根据帮助使用M-;

  

调用你想要的评论命令(做我的意思)。

     

如果该区域处于活动状态且“瞬态标记模式”已启用,请致电     'comment-region'(除非它只包含注释,其中     它称为'uncomment-region')。   否则,如果当前行为空,则调用'comment-insert-comment-function'   如果已定义,则插入注释并缩进。   否则,如果指定了前缀arg,则调用'comment-kill'。   否则,请致电'comment-indent'。

从长远来看,这可能更容易。 :-)请记住这是“模式相关的”,所以你需要在使用M-x python-mode进行评论之前设置python-mode

或者,如果您想为每行添加任何类型的字符前缀,请选择要注释的文本并键入

C-x r t

并输入要添加前缀的字符。请记住,插入符号必须位于您选择的最后一行的第一列,否则您的文本将被替换。

您可以通过按C-space并将您的插入符号移动到btw来选择文本。

答案 1 :(得分:2)

以下是一个描述如何使用arbitrary characters in rectangle mode执行此操作的链接。

这很方便,因为它只对选定的文本区域执行此操作。

答案 2 :(得分:1)

一种方法是定义一个简单的键盘宏

C-x (
C-a
#
C-n
C-x )

然后你可以用

执行超过100行
M-1 0 0 C-x e

对于这种情况不一定是最有效的,但容易记住

答案 3 :(得分:1)

对于那些想要实现此类事情的人,但也许对于更复杂的场景,您可能会发现以下链接有用:

https://stackoverflow.com/a/21725509/1756598