在vi中,可以通过以下命令全局替换字符串
:%s/strtoreplace/replacedstr/g
是否可以将它放在.bashrc中(通过某些函数可以说是vireplace()),这样可以在终端中运行相同的命令而无需打开文件。字符串(strtoreplace,replacementstr)应该是提示输入($ @),这样它应该适用于任何想要替换任何字符串的字符串? 我想要像
这样的东西function vireplace() { vim :%s/$@/$@/g $@ ;}
答案 0 :(得分:2)
您可以使用Menu_Opciones
(命令)选项。例如:
-c
这将在文件gash.txt中用“x”替换每次出现的“1”。 vireplace() { vi -c "s/$1/$2/g" -c "wq" $3; }
vireplace 1 x gash.txt
确保它不是交互式的 - 如果你想以交互方式使用它,则省略它。
但老实说,当-c "wq"
只能做同样的事情时,我无法理解为什么要使用vim
。
答案 1 :(得分:1)
您可以创建一个调用vi
(或ed
)的函数,但当其他人需要了解您构建的内容时,请使用sed
。
编辑时,您可以使用一些可以放在.exrc
中的私人调整(仅限您的私人帐户)。
您可以在$HOME/.exrc
。
nnoremap <F2> :%s/strtoreplace/replacedstr/g<Enter>
测试您正在处理的脚本的另一个示例:
nnoremap <F9> :w<Enter>:!%:p<Enter>