【发布时间】:2016-07-30 00:29:46
【问题描述】:
所以我目前喜欢这种在 vim 中注释多行的解决方案:
- 按
CTRL-v(进入可视块模式) - 选择要评论的行
- 按
Shift-i(进入插入模式) - 输入您的语言使用的任何注释字符
- 按
ESC ESC(按两次退出键可以更快地显示结果)
但我需要一些帮助,将这些步骤映射到我的 vimrc 文件中。 我目前使用以下注释行:
vnoremap ;/ <C-v>0I// <ESC>
对于那些想要解释该命令的作用的人:
当您处于可视模式时,您基本上键入;/ 来使用它(可视、可视线和可视块模式都可以工作,因为<C-v> 部分会强制您进入可视块模式,这是正确的)。
0I 部分会将您置于行首的插入模式。
// <ESC> 部分将插入注释字符// 并让您回到正常模式。
我需要帮助的部分是取消注释行。如何在我的 vimrc 中编写一个基本上可以让我切换 // 字符的函数?
理想情况下,解决方案将涉及以下内容:
- 选择行
- 按
;/ - 如果没有
//字符,那么它将插入它们 - 如果有
//字符,那么它将删除它们
【问题讨论】:
-
我们有 vi.stackexchange.com 。您可能应该使用一个函数进行注释,另一个函数用于取消注释,然后允许范围不需要
. -
0I?I足以插入行首! -
太酷了。我不知道 vi.stachexchange。我个人喜欢只有一个功能,这样你只需要记住一个命令。我也更喜欢使用视觉选择而不是使用范围
-
也可以查看tyru/caw.vim。
-
0I?它是0i或I。此外,编写注释函数是 vimscript 中最常见的第一步。我建议改用插件,比如 Tim Pope 的评论。