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)