我有一句话:
contact.psu_code = row[:psu_code] unless row[:psu_code].blank?
我希望用psu_code
代替contact_disposition
,例如:
contact.contact_dispositon = row[:contact_disposition] unless row[:contact_disposition].blank?
它只替换我所在的单行,没有确认。我知道%s/orig/sub
,但这很麻烦。
答案 0 :(得分:5)
你是什么意思,这很麻烦?如果您想在一行上进行搜索和替换,则无需使用%
。
:s/psu_code/contact_disposition/g
如果没有g
,Vim会在替换单个事件后停止。通过指定g
,替换将在整行上完成。
如果您想要确认,请在c
之后的选项中添加g
。
这是一个方便的功能:
function! LineReplace()
let search = expand('<cword>')
call inputsave()
let replacement = input('')
call inputrestore()
call setline(line('.'), substitute(getline('.'), search, replacement, 'g'))
endfunction
nnoremap <leader>r :call LineReplace()<CR>
我将其映射到<leader>r
,但您可以轻松将其更改为您想要的任何键映射。
答案 1 :(得分:0)
尝试
%s/orig/sub/gc
g =&gt;全局,意味着一行多次
c =&gt;确认
答案 2 :(得分:0)
有两种方法可以完成这项工作:
:s/psu_code/contact_disposition/gc
。最后一个c用于确认,您可以使用与否。:s/psu_code/contact_disposition/g
我希望这会有所帮助