Tenho certeza de que isso não pode ser feito diretamente. No entanto, eu criei uma função para você. Coloque isso no seu ~/.vimrc
:
function! Toggle()
s!^\(\s*/\?[^/\s]/\?\)!xxx//!e
s!^\(\s*\)//!!e
s!^xxx//!//!e
endfunc
(Isso alterará qualquer xxx//
que você já tenha no início de uma linha para //
, mas imagino que essa seja uma ocorrência rara).
Você poderia chamar isso sempre que quiser com :call Toggle()
, mas provavelmente achará mais conveniente mapeá-lo para uma tecla / combinação. O seguinte mapeará para Ctrl + / ; É claro que você pode substituir qualquer combinação de teclas que preferir (pergunte se você precisa de ajuda para mapear outro combo). Coloque isso também no seu ~.vimrc
:
nnoremap <C-/> :call Toggle()<CR>
vnoremap <C-/> :call Toggle()<CR>
inoremap <C-/> <Esc>:call Toggle()<CR>i
Estes mapeam Ctrl + / para a função no modo normal, visual e de inserção, respectivamente. Observe que o mapeamento de inserção retornará ao modo de inserção, mas moverá o cursor para o início da linha. Se você preferir permanecer no modo normal, basta soltar o i
do final da linha inoremap
.
(Atualizado para lidar com espaços em branco. Remove //
após o espaço em branco, mas sempre insere no início da linha)