Pull to refresh

Замена " на ' и обратно одним кликом

Reading time1 min
Views6.6K
Добавляем в .vimrc:
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.
Tags:
Hubs:
0
Comments30

Articles