我很享受vim及其強大的搜索和替換命令。但是,我需要執行一個複雜的研究和替代,如下所示:vim向後搜索並替換之前匹配的模式
1)找到第一個出現的「field.h」並刪除行 2)從刪除的行向後搜索直到包含「foo.h」(此搜索必須不區分大小寫),並在它包含「include」io.h之前放置一個新行。「
3)對每個」field.h「出現重複此操作在文件中
現在,我知道如何刪除匹配模式的文件中的所有行,以及如何在模式之前插入新行,但我不知道如何結合所有這些。
對於上述第1點,我會做:g/field.h/d
,而對於第2點像:g/"foo.h"/s/#include "io.h"\r&/g
應該工作...
舉個例子,啓動文件可能是:
"foo.h"
lines of text, they can be also empty lines
#include "field.h"
other text
所得文件應該是:
#include "io.h"
"foo.h"
lines of text, they can be also empty lines
other text
有人可以幫我嗎? 謝謝
聽起來李關於vim宏的工作。如果你提供一個小樣本 – Amit
是的,那麼它會有所幫助,添加一個前後示例。還要單獨添加你正在執行的命令,它會幫助別人使用它,甚至建議改進 – Sundeep