Добавляем в .vimrc:
Если курсор переместить внутрь кавычек и нажать ', то кавычки поменяются на двойные/одинарные.
ps. скрипт использует vim-surround.
function! s:ToggleQuote()
let q = searchpos("'", 'n', line('.'))
let qb = searchpos("'", 'bn', line('.'))
let dq = searchpos('"', 'n', line('.'))
let dqb = searchpos('"', 'bn', line('.'))
if q[0] > 0 && qb[0] > 0 && (dq[0] == 0 || dq[0] > q[0])
execute "normal mzcs'\"`z"
elseif dq[0] > 0 && dqb[0] > 0
execute "normal mzcs\"'`z"
endif
endfunction
nnoremap <silent>' :<C-U>call <SID>ToggleQuote()<CR>
Если курсор переместить внутрь кавычек и нажать ', то кавычки поменяются на двойные/одинарные.
ps. скрипт использует vim-surround.