如何在bashrc中添加vi替换命令

时间:2016-08-06 04:21:24

标签: bash vim vi

在vi中,可以通过以下命令全局替换字符串

:%s/strtoreplace/replacedstr/g

是否可以将它放在.bashrc中(通过某些函数可以说是vireplace()),这样可以在终端中运行相同的命令而无需打开文件。字符串(strtoreplace,replacementstr)应该是提示输入($ @),这样它应该适用于任何想要替换任何字符串的字符串? 我想要像

这样的东西
function vireplace() { vim :%s/$@/$@/g  $@ ;} 

2 个答案:

答案 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>