вы могли бы написать функцию, которая бы хорошо это делала, добавив это в ваш файл .vimrc:
function! s:surround()
let word = expand("<cword>")
let command = "%s/".word."/env[\'".word."\']/g"
execute command
endfunction
map cx :call <SID>surround()<CR>
Это будет окружать каждое вхождение слова, находящегося в данный момент под курсором.
Если вы хотите указать, что было до и после каждого экземпляра, вы можете использовать это:
function! s:surround()
let word = expand("<cword>")
let before = input("what should go before? ")
let after = input("what should go after? ")
let command = "%s/".word."/".before.word.after."/g"
execute command
endfunction
map cx :call <SID>surround()<CR>
Если вы хотите только подтвердить каждый экземпляр переменной, вы можете использовать это:
function! s:surround()
let word = expand("<cword>")
let before = input("what should go before? ")
let after = input("what should go after? ")
let command = "%s/".word."/".before.word.after."/c"
execute command
endfunction
map cx :call <SID>surround()<CR>