我正在使用名为tComment
的 vim插件它允许我按gc
或<c-_><c-_>
此外,它适用于快捷方式<c-/><c-/>
,但visual selection
已丢失。
所以,我试过了:
<c-/>
我的尝试:
inoremap <c-/> gc
vnoremap <c-/> gc gv
nnoremap <c-/> gc
======
imap <c-/> gc
vmap <c-/> gc gv
nmap <c-/> gc
======
imap <c-/> gc$
vmap <c-/> gc$ gv
nmap <c-/> gc$
======
inoremap <c-/> <c-_><c-_>
vnoremap <c-/> <c-_><c-_> gv
nnoremap <c-/> <c-_><c-_>
======
imap <c-/> <c-_><c-_>
vmap <c-/> <c-_><c-_> gv
nmap <c-/> <c-_><c-_>
(以上情况似乎无效)
注意:
tComment
(Ubuntu)上安装vim
会让您进入我的设置。答案 0 :(得分:5)
:map
,而不是:noremap
。<Plug>PluginName...
。请阅读:help g:tcommentMaps
以获取有关此特定插件的说明,然后将替换放入~/.vimrc
。答案 1 :(得分:2)
如果我理解正确,您希望有一个地图(在i,n和&amp; v模式下),可以对当前行或视觉选择进行注释。这就是tcomment的<c-_><c-_>
地图现在所做的事情(除了你想要保持视觉选择)。为了使用<c-/>
,您必须在vimrc中设置g:tcommentMapLeader1 =''(或其他一些地图,因为<c-/>
似乎与echristopherson指出的<c-_>
相同)然后定义<c-/>
的地图。
这应该有效(将这些行添加到.vimrc):
let g:tcommentMapLeader1 = ''
noremap <silent> <c-/> :TComment<cr>
vnoremap <silent> <c-/> :TCommentMaybeInline<cr>gv
inoremap <silent> <c-/> <c-o>:TComment<cr>
您可能需要将<c-/>
替换为<c-_>
才能使其正常运行。由于您在键入<c-/><c-/>
时报告说tcomment已经有效,因此<c-_>
地图应该有效。
无论如何,我还建议使用运算符映射,因为这些更适合vim的工作方式。我不认为使用单个键仍然是一个好主意。