我想知道在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
我可以使用#或“”来注释掉相关的行。理想情况下,如果给定的行已被注释掉,我还希望使用相同的键映射来取消注释。
当前回答
NERDcommenter是一个优秀的注释插件,它可以自动检测一些文件类型及其相关的注释字符。使用病原体安装非常容易。
注释<leader>cc。用<leader>cu.取消注释。并切换注释<leader>c<space>。
(vim中默认的<leader>键是\)
其他回答
CtrlK评论(可视模式):
vnoremap <silent> <C-k> :s#^#\##<cr>:noh<cr>
取消注释(可视模式)的CtrlU:
vnoremap <silent> <C-u> :s#^\###<cr>:noh<cr>
有一些很好的插件可以帮助注释/取消注释行。比如书呆子评论家。
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/^#//
坦率地说,我使用一个tcomment插件来链接。它可以处理几乎所有的语法。它定义了漂亮的移动,使用它与一些特定于python的文本块匹配器使它成为一个强大的工具。
一个非常小的轻量级插件:vim-commentary。
GCC来注释一行 GCGC对此不予置评。查看插件页面了解更多信息。
V +k/j突出显示块,然后GCC注释该块。