可以用vim或vim同时评论或缩进多行吗?例如:
for item in Lista:
ind = int(floor(1.0*(item-lmin)/width))
if ind==nintervals:
ind=ind-1
print item,ind
将其评论为:
#for item in Lista:
#ind = int(floor(1.0*(item-lmin)/width))
#if ind==nintervals:
#ind=ind-1
#print item,ind
或缩进为:
for item in Lista:
ind = int(floor(1.0*(item-lmin)/width))
if ind==nintervals:
ind=ind-1
print item,ind
Pd积。 VI和VIM之间的区别是否相关?
答案 0 :(得分:38)
这是另一种方式。
ctrl+v
//
I
)
键入键是
ctrl+v
→jjjj
→I
→//
→ ESC
答案 1 :(得分:14)
要评论,按一个大写 V 进入VISUAL LINE模式,选择所有行,然后按:进入命令模式并使用命令(注意VIM已经包括'<,'>
标记给你:
:'<,'>s/^/#/
如果您更喜欢文本附近的哈希标记,而不是左边距附近,则命令为:
:'<,'>s/^\(\s*\)/\1#/
要缩进,请选择相同的块,然后键入>
缩进,<
取消隐藏。
答案 2 :(得分:6)
输入:set number
。记下要评论的块的开始和结束行号。然后进行地址范围替换,例如
:12,17s/^/#
答案 3 :(得分:3)
与接受的答案类似,但对于块或段落更容易:
Ctrl + V
}
I
(大写i)#
(字符后面有空格,没有Enter
!)ESC
这应该自动完成所有选定块中的字符。
基本上与接受的答案的不同之处在于,不是使用j
逐行下去,而是使用}
来选择整个段落(或者您可以使用G
作为文件结尾,对于前。
简短版本:
Ctrl + V
+ }
+ I
+ #
+ ESC
答案 4 :(得分:2)
我知道这里有很多答案已经解释了如何使用>
和<
进行缩进,所以我不打算为此烦恼。但是,对于评论,虽然您可以使用块插入或替换来快速而肮脏,但您可以使用NERD Commenter plugin做得更好。它提供了以各种方式注释和取消注释的命令,它根据语法知道要插入的注释符号,如果语言支持它,它可以执行相当多行的注释。
答案 5 :(得分:2)
这里有很多答案,都有主题。最好的方法取决于上下文(因为上下文决定了最简单的导航方法),所以我会对上下文做一些假设。如果您要缩进或注释的部分是单个段落(例如,您想要缩进或评论从光标到下一个空行的所有内容),您可以缩进:
>)
如果光标不在段落的开头,但是要缩进的部分是单个段落而光标位于中间,请使用
>ip
最后,假设您要缩进由{}分隔的代码块,并且光标位于该块的中间。使用
>i{
要评论,在每种情况下只需更换&gt;使用v并使用上面的命令进行块选择,然后执行文本替换,如s /^/#/.
关键是导航命令。我强烈推荐
:help v_a
答案 6 :(得分:1)
使用可视模式选择线条。
要缩进,请先键入>>
或<<
以分别向右或向左缩进。要缩进 n 次,请键入n>>
或n<<
。
要注释掉,请用注释替换行的开头:
: '&LT;,' &GT; S / ^ /#/
'<,'>
表示“从选择开始到结束。
s/^/#/
使用#
替换范围中每一行的开头,假设#
在注释中添加一行。
答案 7 :(得分:0)
将光标放在第一行,计算应缩进的行数,在上例中为5,然后为hash(#)类型
:.,.+5%s/^\([ <tab>]*\)/#\1/<enter>
或标签缩进,
:.,.+5%s/^\([ <tab>]*\)/<tab>\1/<enter>
,
&LT;标签&gt;和&lt; enter&gt;是标签并输入密钥。
这样做可能有更优雅的方法,但这样的事情是一件很快的事情。
答案 8 :(得分:0)
对于评论,你可以使用VISUAL BLOCK选择(Ctrl-V)并选择行的开头,然后按Shift-I并写一个#。按Esc后,所有行都会得到#。
答案 9 :(得分:0)
我通常的解决方案是:
<ESC>
<q><a> => start a macro and save it as macro a
<^> => to get to the start of the line
<i> => insert mode
<#> => Add the #
<ESC> => End insert mode
<down> => Move to the next line
<q> => End macro
然后一次:
<[at]><a> => repeat macro a
然后重复&lt; [at]&gt;&lt; [at]&gt; (重复上一次执行的宏)直到所有行都被注释。您可以按住&lt; [at]&gt;让键盘重复完成剩下的工作。
BTW:如果没有stackoverflow将其转换为“&gt; blockquote”,你如何在这里写一个[at]符号?
要缩进:
[shift] + [v] => line select mode
[down] => until all lines to indent are selected
然后:
[>] => indent once
或:
[2..x][>] => indent 2..x levels
答案 10 :(得分:0)
如果您使用的是Python(或其他使用#作为评论的语言),则可以更快速地评论多行:
Ctrl+v
)。j
多次)向下。r
,然后按#
。要取消注释,请执行相同操作,但对于第三步,请将其替换为空格。