nvim插件共享之Comment.nvim

1,938 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情

前言

  • 请问你写代码会写注释吗?请问有的临时解决的东西你会选择删除原来东西还是暂时注释掉,你会会注释吗

  • 不知不觉注释好像已经和代码同生化了。有代码的地方就有注释,哪怕是那一堆丢。

插件

  • 今天我们在nvim中找到了一款可以解决注释问题的插件他就是COMMENT.nvim 。他支持 treesitter 可以实现// /**/ . <!---->等不同形式的注释。
  • 首先我们先安装下

use {
    'numToStr/Comment.nvim',
    config = function()
        require('Comment').setup()
    end
}

  • 同时他也提供了帮助文档,不知道怎么用的可以先看看那个文档,什么?你找不到,好吧nvim打开后:help comment-nvim

说明

  • 当你通过setup的方式来配置Commnet的时候我们可以设置在vim的普通模式和可视化模式设置我么你自定义的快捷键。默认的或者说大多数人配置的是gccgbc [countgcc] [count]gbc gc[count][motion] gb[count][motion] , 其实无非就是gc gb加上我们的移位大法罢了。

普通模式

gcc : 行注释当前行

gbc : 使用块级别注释来注释掉当前行

ngcc : 使用行级别注释来注释掉当前行往后的几行数据

ngbc : 使用块级别的注释来注释代码行往后的几行数据

  • 其实有了上面的注释基本就够我们使用的了,但是谁让我们在vim中操作呢? 既然都是用vim了,为什么还不加强使用他的motion功能呢?gcc中最后的c就是表示current line 的意思,就当是motion在comment中的一个扩展功能吧。
  • 别忘了motion自带的w , ( , s ,g,W,e,E,b,B等操作吧。我么来操作注释掉最近的两个单词

gc2w

  • 注入此类的操作你可以自己去测试下,这里就不完全解释了。

  • 最后在说下可视化注释吧。上面的操作都是基于motion进行注释,别忘记我们可视化模式干嘛的,我们完全可以在V模式选中内容然后按下gc济宁注释。