![如何在 ubuntu 中全局替换 vi 编辑器中的单词](https://linux22.com/image/896581/%E5%A6%82%E4%BD%95%E5%9C%A8%20ubuntu%20%E4%B8%AD%E5%85%A8%E5%B1%80%E6%9B%BF%E6%8D%A2%20vi%20%E7%BC%96%E8%BE%91%E5%99%A8%E4%B8%AD%E7%9A%84%E5%8D%95%E8%AF%8D.png)
vi
我想使用任意命令在编辑器中全局替换单词“windows” 。
要修改的文字是:
windows is choice of everyone
windows is choice of student
windows is choice of engineer
windows is choice of web server
我尝试了这个命令:
:1,$s/Windows/UNIX/LINUX/g
但它给出了错误E488: trailing characters
。问题出在哪里?
答案1
不确定为什么你的命令中同时有 Unix 和 Linux。怎么样:
:%s/windows/linux/g
或者如果替换字符串是 unix/linux:
%s/windows/unix\/linux/g
答案2
您需要使用反斜杠来转义替换文本中的正斜杠,就像这样UNIX\/LINUX
。
正如 [user:Panther] 所评论的那样,在搜索/替换字符串中使用正斜杠时,使用其他分隔符更简单。我更喜欢使用 #,因此在您的情况下应该是:
:% s#windows#UNIX/LINUX#
仅当您希望在一行中看到多个示例未显示的字符时才g
需要后缀。windows