我想知道在Vim中是否有任何键映射允许我缩进某些行代码(是否这些行已在可视模式下选择,或在当前光标位置上方/下方的n行)。
所以基本上可以转换以下内容
def my_fun(x, y):
return x + y
to
#def my_fun(x, y):
# return x + y
我可以使用#或“”来注释掉相关的行。理想情况下,如果给定的行已被注释掉,我还希望使用相同的键映射来取消注释。
我想知道在Vim中是否有任何键映射允许我缩进某些行代码(是否这些行已在可视模式下选择,或在当前光标位置上方/下方的n行)。
所以基本上可以转换以下内容
def my_fun(x, y):
return x + y
to
#def my_fun(x, y):
# return x + y
我可以使用#或“”来注释掉相关的行。理想情况下,如果给定的行已被注释掉,我还希望使用相同的键映射来取消注释。
当前回答
一个非常小的轻量级插件:vim-commentary。
GCC来注释一行 GCGC对此不予置评。查看插件页面了解更多信息。
V +k/j突出显示块,然后GCC注释该块。
其他回答
一个非常小的轻量级插件:vim-commentary。
GCC来注释一行 GCGC对此不予置评。查看插件页面了解更多信息。
V +k/j突出显示块,然后GCC注释该块。
有一些很好的插件可以帮助注释/取消注释行。比如书呆子评论家。
NERD评论者的快捷方式示例:
[count]|<Leader>|cc |NERDCommenterComment|
Comment out the current line or text selected in visual mode.
[count]|<Leader>|cu |NERDCommenterUncomment|
Uncomments the selected line(s).
完整的文档在这里。
我通常扫出一个可视块(<C-V>),然后搜索并替换第一个字符:
:'<,'>s/^/#
(进入命令模式,选择一个可视块自动放置'<,'>在命令行上)然后我可以通过清除相同的可视块来取消注释块,并且:
:'<,'>s/^#//
您可以将以下映射添加到您的.vimrc
vnoremap <silent> # :s/^/#/<cr>:noh<cr>
vnoremap <silent> -# :s/^#//<cr>:noh<cr>
突出你的区块:
Shift+v
#注释第一列中的行。
-#以同样的方式取消注释。
用ShiftV突出显示你的区块
用::norm i#(小写i)注释所选的块
要取消注释,请再次突出显示您的块,并使用::norm ^x取消注释
norm命令对每一行执行一个操作。注释会在每行开头插入一个#,取消注释会删除这个#。