vim - 使用 sed 命令用 Vim 替换多个文件中的字符串

标签 vim

我想使用 call:Rep(new,old) 用新字符串替换旧字符串。所以我的伪代码是这样的......

我是 vimscript 新手,我不知道该怎么做。

function! Rep(old,new)
   !sed -i.bak 's/#{old}/#{new}/g' *
endfunction

你有什么想法吗? 谢谢。

最佳答案

将您的功能更改为

function! Rep(old,new)
   exe "!sed -i.bak 's/".a:old."/".a:new."/g' *"
endfunction

然后使用:调用Rep(old,new)。您还可以为其创建命令。

command! -nargs=+ Rep call Rep(<args>)

这样你就可以:Rep old new

关于vim - 使用 sed 命令用 Vim 替换多个文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11820075/

相关文章:

vim - 在 vim 中调试 matchit 插件(在 Cygwin 下)

windows - VIM Ctrl-V 与 Windows 粘贴冲突

c++ - 搜索日志文件

Vim 病原体无法加载 - E117 : Unknown function: pathogen#infect

vim - 获取函数调用的回溯

vim - 刷新Vim缓冲区

vim - 如何在 vim 中重复查找/替换命令

ruby - 如何在 vim 的 ruby​​ 执行之间保存变量?

macos - Mac OS X终端中的Vim : Move cursor word by word

vim - 如何从 vimscript 调用编辑器命令?