Questions tagged «global-command»

6
删除所有连续的重复项
我有一个看起来像这样的文件。 Move to 230.00 Hold Hold Hold Hold Hold Hold Move to 00.00 Hold Hold Hold Hold Hold FooBar Hold Spam Hold 我希望它看起来像这样: Move to 230.00 Hold Move to 00.00 Hold FooBar Hold Spam Hold 我敢肯定,vim必须有一种方法可以快速地做到这一点,但是我不太清楚如何做。这是否超出了宏的功能,并且需要vimscript? 另外,如果必须将相同的宏应用于“ Holds”的每个块,也可以。它不必是一个宏即可获取整个文件,尽管那真是太棒了。

2
如何将所有线匹配的模式匹配在一起?
我只想将具有特定模式(例如;)的行连接在一起,但是使用时g/;/j,除非多次调用,否则无法正常工作。 例如以下内容: a 1; 2; 3; 4; 5; b 6; 7; 8; 9; c 使用时::g/;/j输出为: a 1; 2; 3; 4; 5; b 6; 7; 8; 9; c 或:g/;/-j给出: a 1; 2; 3; 4; 5; b 6; 7; 8; 9; c 与:类似:g/;\_.\{-};/j。 我的预期输出是: a 1; 2; 3; 4; 5; b 6; …

5
如何在文件的两个模式之间替换内容?
我有以下格式的文件: <common> fitnes=0 genetic=1 method=0 </common> <inputs> foo=bar bar=foo </inputs> <limits> balance=200.00 </limits> 我想删除<inputs>和之间的所有内容</inputs>(不包括自行设置模式),并用另一个文件(例如foo.txt)中的内容替换它。换句话说,带有foo=bar和的bar=foo行将被另一个内容替换。 可能与删除多行匹配的方式类似,例如: :g/<inputs/,/inputs>/d 但我不确定应该替换什么d以插入另一个文件的内容,但是我想保留匹配的模式。 类似的方法是删除html标签的内部内容,例如 :/<inputs>/norm vitd 但是我不知道如何将文件中的内容添加到其中。 理想情况下,我正在尝试找到一种衬板,因为它将成为另一种脚本的一部分。 我该如何实现?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.