我正在使用emacs键入一些代码,例如:
pi = 3.14
radius = 5
area = pi*radius**2
print area
我希望将所有4行注释掉;
#pi = 3.14
#radius = 5
#area = pi*radius**2
#print area
有人建议选择块,然后按ctrl + x r t#enter,但这就是我得到的;
#i = 3.14
#adius = 5
#rea = pi*radius**2
#rint area
它用#替换了第一个条目。如果它可以被反转,这将是好的,但反转方法crtl + x r k只是删除所有内容。 我找到了一些有用的东西虽然有点长。首先选择第一个#的位置并输入ctrl + x(crtl + a #ctrl + n ctrl + x)。这将把#放在第一行的开头。如果你想为Z行重复这个,现在输入crtl + u Z crt + x e。这将在以下Z行的开头放置一个#。
有更简单的方法吗?
答案 0 :(得分:4)
Cx Cr t 技巧取代了由点和标记限定的矩形中的文本,所以如果你从中选择,这实际上是有效的第一行的第一列,然后将点放在最后一行的第一个列上,即:
<mark>pi = 3.14
radius = 5
area = pi*radius**2
<point>print area
然后它将&#34;替换&#34;每行开头的空字符串#
。
另一种方法是标记要注释的块,然后点击 M - ; (或M-x comment-region
)。它应该为您当前正在使用的编程语言做正确的事情。
正如评论中的法律清单所述,multiple-cursors是一个相当令人上瘾的工具,在这种情况下非常有用。
答案 1 :(得分:2)
请勿在此处使用C-x C-r t
。请改用其中之一:
comment-region
(我将其绑定到C-x C-;
)comment-dwim
(M-;
)string-insert-rectangle
- 如果你有Emacs 24.4或更高版本(或最近的开发快照)