所以我现在喜欢这个解决方案来评论vim中的多行:
CTRL-v
(进入可视屏蔽模式)Shift-i
(进入插入模式)ESC ESC
(按两次退出键可使结果显得更快)但我想帮助将这些步骤映射到我的vimrc文件中。 我目前使用以下内容来评论:
vnoremap ;/ <C-v>0I// <ESC>
对于那些想要解释命令功能的人:
当你在可视模式下使用它时,你基本上输入;/
(Visual,Visual Line和Visual Block模式都可以工作,因为<C-v>
部分会强制你进入Visual Block模式,哪个是对的)。
0I
部分会让您在行的开头处进入插入模式。
// <ESC>
部分会插入注释字符//
并让您重新进入普通模式。
我需要帮助的部分是取消注释线条。如何在我的vimrc中编写一个基本上让我切换//
个字符的函数?
理想情况下,解决方案将涉及以下内容:
;/
//
个字符,则会插入//
个字符,则会删除它们答案 0 :(得分:6)
将其放入.vimrc
文件中:
vnoremap <silent> ;/ :call ToggleComment()<cr>
function! ToggleComment()
if matchstr(getline(line(".")),'^\s*\/\/.*$') == ''
:execute "s:^://:"
else
:execute "s:^\s*//::"
endif
endfunction
答案 1 :(得分:0)
检查评论插件。它允许对所有语言都有一个绑定。
答案 2 :(得分:0)
使用python脚本非常简单
function! Comment()
python3 << EOF
import vim
r = vim.current.range
line = vim.current.buffer[r.start]
if line.startswith('// '):
vim.current.buffer[r.start] = vim.current.buffer[r.start].replace('// ', '')
else:
vim.current.buffer[r.start] = '// ' + vim.current.buffer[r.start]
EOF
endfunction
" ctrl slash
noremap <C-_> :call Comment()<CR>