是否可以在 vim 上创建快捷方式以在文件上多次替换?
Is it possible create a shortcut on vim to replace multiple times on a file?
我想在 vim 上创建一个快捷方式来多次替换一个文件,这是我多次使用的工具。
工具示例:
:%s/this.props/otherProps/gc
此命令会将所有this.props替换为otherProps并要求确认
但我正在尝试将此命令转换为快捷方式,如下例所示:
// on .vimrc
noremap <leader>F :%s///gc
所以在这种情况下,我会在每次按 <leader>
+ F
时输入第一个单词,然后按 tab
并输入第二个单词,然后按输入。
我尝试输入了 </code> 和 <code>
,但没有用。
我试图搜索一些关于此的文档,但我没有找到任何东西,也许有一些 word
更具体的我还不知道。
您可以通过向 .vimrc
添加如下内容来使用自定义函数:
function! Replace()
call inputsave()
let pattern = input('Enter pattern:')
let replacement = input('Enter replacement:')
call inputrestore()
execute '%s/'.pattern.'/'.replacement.'/gc'
endfunction
nnoremap <leader>f :call Replace()<cr>
每次点击 <leader>f
时都会调用该函数。然后会首先要求您提供模式,然后要求替换,然后执行替换命令。
虽然这不能完全满足您的要求,但它确实非常接近。
noremap <leader>F :%s//gc<LEFT><LEFT><LEFT>
这将键入命令 noremap <leader>F :%s//gc
,但将光标留在 2 个斜杠之间,准备好键入要查找和替换的内容。
现在您只需点击 <leader>F
并开始输入 this.props/otherprops
,然后点击回车。它完全符合您的要求,但不是按 tab
,而是按 /
我想在 vim 上创建一个快捷方式来多次替换一个文件,这是我多次使用的工具。
工具示例:
:%s/this.props/otherProps/gc
此命令会将所有this.props替换为otherProps并要求确认
但我正在尝试将此命令转换为快捷方式,如下例所示:
// on .vimrc
noremap <leader>F :%s///gc
所以在这种情况下,我会在每次按 <leader>
+ F
时输入第一个单词,然后按 tab
并输入第二个单词,然后按输入。
我尝试输入了 </code> 和 <code>
,但没有用。
我试图搜索一些关于此的文档,但我没有找到任何东西,也许有一些 word
更具体的我还不知道。
您可以通过向 .vimrc
添加如下内容来使用自定义函数:
function! Replace()
call inputsave()
let pattern = input('Enter pattern:')
let replacement = input('Enter replacement:')
call inputrestore()
execute '%s/'.pattern.'/'.replacement.'/gc'
endfunction
nnoremap <leader>f :call Replace()<cr>
每次点击 <leader>f
时都会调用该函数。然后会首先要求您提供模式,然后要求替换,然后执行替换命令。
虽然这不能完全满足您的要求,但它确实非常接近。
noremap <leader>F :%s//gc<LEFT><LEFT><LEFT>
这将键入命令 noremap <leader>F :%s//gc
,但将光标留在 2 个斜杠之间,准备好键入要查找和替换的内容。
现在您只需点击 <leader>F
并开始输入 this.props/otherprops
,然后点击回车。它完全符合您的要求,但不是按 tab
,而是按 /