如何解决如何替换几行引号内的内容
我有此代码:
System.out.println("plant");
System.out.println("tree");
System.out.println("grass");
System.out.println("flower");
我想用以下内容替换""
中的内容,其中一行在文本编辑器中包含一个单词:
animal
dog
fish
elephant
我想要的是:
System.out.println("animal");
System.out.println("dog");
System.out.println("fish");
System.out.println("elephant");
我尝试了列编辑,但没有得到预期的结果。
有什么技巧可以简单地做到这一点吗?
解决方法
您可以进行逆运算,并使用搜索并替换与整行匹配的正则表达式,在单词文件中的每个单词周围添加System.out.println("
和");
:
:%s/^\(.*\)$/System.out.println("\1");
然后您可以将该部分移至源文件。
或者您先将单词移到源文件中,然后在其中进行搜索和替换操作,不仅不是针对整个文件,而是针对可视行选择( Shift + v )包含单词。为此,您需要在命令中将:%
更改为:'<,'>
。
您无需键入'<,'>
,在可视行选择模式下输入:时,它将自动插入。
您还可以在第二个文件(包含动物,狗,鱼,大象的文件)中记录一个宏。
您需要做的是将光标放在动物的第一行之前,在正常模式(esc)下键入“ qa”-这将开始在寄存器“ a”中记录宏。
然后进入插入模式,键入System.out.println(“,在“ animal”之前停止,键入ESC进入普通模式,然后键入$移至行中的最后一个字符,然后我进入插入模式并输入“);后动物。最后键入ESC和q以完成宏的录制。
然后对于每一行,您可以通过键入@a执行宏。或者,您可以通过执行以下命令在每一行上启动它:
:g/^/norm!@a
要了解有关VIM宏的更多信息:https://vim.fandom.com/wiki/Macros
,我在Vim中使用宏和分屏显示了一个很好的答案,显示为gif图片。这个答案来自“知乎”(中文网站)的“肾球”。
如果您想查看更多解决方案,请转到此页面https://www.zhihu.com/question/419191791?group_id=1284909403133231104, 向下滚动,您会看到很多图片,您不需要了解中文,只需查看每张图片上执行的按键记录即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。