在VIM中,我需要注释掉一段Ruby代码:
r<space>
,如果我想将其注释掉,请输入r#
。 这个工作流程对我来说似乎没问题,有没有办法改进这个过程?在vim中是否有任何其他技巧可用于评论或取消注释ruby代码部分?
答案 0 :(得分:38)
我做的几乎和你一样。
注释:
CTRL-V
选择视觉区块,然后I#
(在开头插入#
)取消注释:
CTRL-V
进行视觉区块选择,然后选择X
(删除线条上的第一个符号)请注意大写I
和X
。
答案 1 :(得分:13)
对于每种语言(ftplugin),我编写映射,添加或删除注释引导并将光标向下移动一行。例如,在我的python ftplugin中,我有这个:
noremap <buffer> K :s,^\(\s*\)[^# \t]\@=,\1#,e<CR>:nohls<CR>zvj
noremap <buffer> <C-K> :s,^\(\s*\)#\s\@!,\1,e<CR>:nohls<CR>zvj
我发现这是一个非常灵活的设置:
K
对当前行进行评论。K
以评论很多行。6K
发表评论6行。K
评论整个选择。CTRL-K
#
。#
后跟一个空格,则会将其视为文字评论,但不会被触及。我对每种语言稍微调整一下。它对于旧C评论(/*...*/)也不起作用,但我还是不想使用它们。
答案 2 :(得分:6)
有些人似乎喜欢Nerd Commenter
答案 3 :(得分:6)
gc
ir
(在Ruby块内)和ar
(在Ruby块周围)。 im
/ am
,为Ruby类内部/周围定义iM
/ aM
。 gcir
/ gcar
评论。 gcim
/ gcam
在Ruby方法内部/周围发表评论。gciM
/ gcaM
在Ruby类内部/周围发表评论。gcc
来评论一条线,或5gcc
评论5条线。总而言之,它非常像Vim和自然。
希望有所帮助。
答案 4 :(得分:5)
答案 5 :(得分:5)
我喜欢使用以下内容:
这就是说,从包含标记“a”的行到当前行,用一个哈希替换该行的开头。
答案 6 :(得分:4)
在屏蔽模式下直观地选择要注释的文字后,点击我(即大写i),输入#,然后点击逃脱键。它基本上与您当前使用的程序相同,但使用insert而不是replace。
答案 7 :(得分:2)
你也可以这样做:
Ctrl + q
进入Visual Block模式I
,按#
ESC
并取消注释:
#
Ctrl + q
进入Visual Block模式d
删除评论字符答案 8 :(得分:1)
使用T-comment尝试Ruby block。
我将T-comment映射到//.
" Easy commenting
nnoremap // :TComment<CR>
vnoremap // :TComment<CR>
这允许从Ruby块中的任何位置用以下内容对其进行注释:
var (visual around Ruby)
// (toggle comments)
请注意,Ruby块有一些需要安装的插件依赖项,请参阅我的Vimfiles作为示例。
答案 9 :(得分:1)
我会建议您使用宏
进行评论的替代方法首先,只需将其放入.vimrc
let @c="I#\ej"
let @u="^xj"
例如
评论12行:
12@c
以评论12行取消注释12行:
12@u
以取消注释12行结论
注释:
[quantifier]@c
取消注释:
[quantifier]@u
注意:这些命令将从当前行开始注释/取消注释。
其他:
为了改善您的需要,number.vim
可以帮助您量化量词数。