Vim 重新映射密钥并获取用户输入
所以我发现Vim 重新映射密钥并获取用户输入,vim,Vim,所以我发现 :%s//my new string/g 我可以替换当前搜索文本中出现的所有内容 Hello, world! la la la Hello. 因此,如果我点击Hello,按*,然后执行:%s//Bye/g,我可以将所有的Hello改为Bye 我只是想做一个小的重新映射来为我做到这一点,我是vim的新手,所以这对我来说非常困难,我真的不知道如何获得重新映射的用户输入 一位reddit用户建议我 nnoremap <c-n> :%s///g<left><
:%s//my new string/g
我可以替换当前搜索文本中出现的所有内容
Hello, world! la la la Hello.
因此,如果我点击Hello,按*,然后执行:%s//Bye/g,我可以将所有的Hello改为Bye
我只是想做一个小的重新映射来为我做到这一点,我是vim的新手,所以这对我来说非常困难,我真的不知道如何获得重新映射的用户输入
一位reddit用户建议我
nnoremap <c-n> :%s///g<left><left>
nnoremap:%s///g
所以我可以用它来触发replace,但它不起作用,我猜是因为它没有指定任何地方的输入?我想做
<c-n> SOME NEW TEXT <enter>
一些新的文本
并用一些新文本替换所有Hello
这可能吗?您需要编写一个小函数来接受用户输入。e、 g:
function! ReplaceIt()
call inputsave()
let replacement = input('Enter replacement:')
call inputrestore()
execute '%s//'.replacement.'/g'
endfunction
你可以把它放在你的vimrc里。或另一个文件,并在vim中获取其源代码
然后您可以先搜索(通过/
或*
,#
…),然后键入:
:call ReplaceIt()
您将看到输入提示,只需给出所需的替换项,然后按Enter
您可以为此函数调用创建映射,例如:
nnoremap <leader>r :call ReplaceIt()<cr>
nnoremap r:调用ReplaceIt()
您需要编写一个小函数来接受用户输入。e、 g:
function! ReplaceIt()
call inputsave()
let replacement = input('Enter replacement:')
call inputrestore()
execute '%s//'.replacement.'/g'
endfunction
你可以把它放在你的vimrc里。或另一个文件,并在vim中获取其源代码
然后您可以先搜索(通过/
或*
,#
…),然后键入:
:call ReplaceIt()
您将看到输入提示,只需给出所需的替换项,然后按Enter
您可以为此函数调用创建映射,例如:
nnoremap <leader>r :call ReplaceIt()<cr>
nnoremap r:调用ReplaceIt()
工作很有魅力:)非常感谢!工作得很有魅力:)非常感谢!