Vim基础篇(十三)——快捷注释插件nerdcommenter

前言:
  好的代码是自注释的(优秀的命名规则和“顺其自然”的逻辑),注释并非越多越好,但在晦涩难懂的地方辅佐上注释说明,将使得代码可读性进一步加强。nerdcommenter就是一款快捷的注释插件,它能帮助我们更便捷的生成注释格式。

1 安装nerdcommenter

  推荐的功能强大的注释辅助插件 preservim/nerdcommenter ,通过预设的快捷键即可实现快速添加注释格式。
  在.vimrc文件中添加如下配置安装nerdcommenter。

1
Plug 'preservim/nerdcommenter'

  在Vim中运行指令 :PlugInstall 完成插件安装。

2 配置nerdcommenter

  在配置文件中进行以下配置,具体可根据个人喜好进行修改。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"preservim/nerdcommenter
"按键映射前缀: <leader>c。"
let g:NERDCreateDefaultMappings = 0 "不使用默认的按键映射。
let g:NERDSpaceDelims = 0 "注释后不添加空格。
let g:NERDCompactSexyComs = 1 "支持多行注释。
let g:NERDDefaultAlign = 'left' "左对齐,而不是跟随代码缩进。
"自定义注释格式
let g:NERDCustomDelimiters = {'c': {'left':'//', 'right':'', 'leftAlt':'/*', 'rightAlt':'*/'},
\'cpp': {'left':'//', 'right':'', 'leftAlt':'/*', 'rightAlt':'*/'},
\'python': {'left':'#', 'right':'', 'leftAlt':'"""', 'rightAlt':'"""'},
\'vim': {'left':'"', 'right':'', 'leftAlt':'"', 'rightAlt':''}}
let g:NERDCommentEmptyLines = 1 "允许注释插入空行(在注释区域时很有用)。
let g:NERDTrimTrailingWhitespace = 1 "在取消注释时启用对尾随空格的修整。
let g:NERDToggleCheckAllLines = 1 "启用NERDCommenterToggle来检查是否注释了所有选定的行。

Vim基础篇(十三)——快捷注释插件nerdcommenter

前言:
  好的代码是自注释的(优秀的命名规则和“顺其自然”的逻辑),注释并非越多越好,但在晦涩难懂的地方辅佐上注释说明,将使得代码可读性进一步加强。nerdcommenter就是一款快捷的注释插件,它能帮助我们更便捷的生成注释格式。

1 安装nerdcommenter

  推荐的功能强大的注释辅助插件 preservim/nerdcommenter ,通过预设的快捷键即可实现快速添加注释格式。
  在.vimrc文件中添加如下配置安装nerdcommenter。

1
Plug 'preservim/nerdcommenter'

  在Vim中运行指令 :PlugInstall 完成插件安装。

2 配置nerdcommenter

  在配置文件中进行以下配置,具体可根据个人喜好进行修改。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"preservim/nerdcommenter
"按键映射前缀: <leader>c。"
let g:NERDCreateDefaultMappings = 0 "不使用默认的按键映射。
let g:NERDSpaceDelims = 0 "注释后不添加空格。
let g:NERDCompactSexyComs = 1 "支持多行注释。
let g:NERDDefaultAlign = 'left' "左对齐,而不是跟随代码缩进。
"自定义注释格式
let g:NERDCustomDelimiters = {'c': {'left':'//', 'right':'', 'leftAlt':'/*', 'rightAlt':'*/'},
\'cpp': {'left':'//', 'right':'', 'leftAlt':'/*', 'rightAlt':'*/'},
\'python': {'left':'#', 'right':'', 'leftAlt':'"""', 'rightAlt':'"""'},
\'vim': {'left':'"', 'right':'', 'leftAlt':'"', 'rightAlt':''}}
let g:NERDCommentEmptyLines = 1 "允许注释插入空行(在注释区域时很有用)。
let g:NERDTrimTrailingWhitespace = 1 "在取消注释时启用对尾随空格的修整。
let g:NERDToggleCheckAllLines = 1 "启用NERDCommenterToggle来检查是否注释了所有选定的行。

comment.gif

  以上配置了针对c/c++和Python的注释风格,可自己需要添加其他语言的注释格式。
  以下是配置的快捷键,插件默认映射的快捷键太多容易造成按键“污染”,最好自己根据需要映射。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"preservim/nerdcommenter
"\cc注释当前或选中行。
map <silent> <leader>cc <plug>NERDCommenterComment
"\cu取消当前行或选中行注释。
map <silent> <leader>cu <plug>NERDCommenterUncomment
"\c<space>当前或选中行中含有未注释的行,则都添加注释,都已注释则取消注释。
map <silent> <leader>c<space> <plug>NERDCommenterToggle
"\ci反转当前或选中行注释。
map <silent> <leader>ci <plug>NERDCommenterInvert
"\c$从光标位置(包括光标下的字符)注释到行末。
map <silent> <leader>c$ <plug>NERDCommenterToEOL
"\cA在行末添加注释并进入插入模式。
map <silent> <leader>cA <plug>NERDCommenterAppend
"\ca转换注释格式,比如//和/**/。
map <silent> <leader>ca <plug>NERDCommenterAltDelims

  以上配置了针对c/c++和Python的注释风格,可自己需要添加其他语言的注释格式。
  以下是配置的快捷键,插件默认映射的快捷键太多容易造成按键“污染”,最好自己根据需要映射。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"preservim/nerdcommenter
"\cc注释当前或选中行。
map <silent> <leader>cc <plug>NERDCommenterComment
"\cu取消当前行或选中行注释。
map <silent> <leader>cu <plug>NERDCommenterUncomment
"\c<space>当前或选中行中含有未注释的行,则都添加注释,都已注释则取消注释。
map <silent> <leader>c<space> <plug>NERDCommenterToggle
"\ci反转当前或选中行注释。
map <silent> <leader>ci <plug>NERDCommenterInvert
"\c$从光标位置(包括光标下的字符)注释到行末。
map <silent> <leader>c$ <plug>NERDCommenterToEOL
"\cA在行末添加注释并进入插入模式。
map <silent> <leader>cA <plug>NERDCommenterAppend
"\ca转换注释格式,比如//和/**/。
map <silent> <leader>ca <plug>NERDCommenterAltDelims