2013-03-03 25 views
0

我正在編輯Vim中的Python文件,我有幾行提取:所有行匹配模式REGEXVim:打開一個新的緩衝區,其中包含當前匹配模式的文件的所有行

我可以列出所有這些行:g/REGEX

如何用上面的命令返回的選擇內容打開一個新的緩衝區?

現在,我正在訴諸退出編輯器,並使用catgrep實際創建一個新文件...必須有一個集成的方式?

+2

我不知道比這更快的方式:http://vim.wikia.com/wiki/VimTip1063 – 2013-03-03 23:12:42

回答

3

嘗試這一個:

$ vim file.txt 

:e new.txt 
:0r!grep REGEX # 

最後的命令調用外部grepREGEX和替代緩衝液名稱#(如file.txt相同),然後讀取結果至當前緩衝區(new.txt


也試試這個:

$ vim file.txt 

:v/REGEX/d 
:w new.txt 
+0

Upvoting,因爲我不知道':v'可以像':g!'一樣使用。 – Robottinosino 2013-03-05 22:47:52

0

如果你很酷命令行Vim的,而不是gVim的,我相信:

vim `grep REGEX file.txt` 

會做的伎倆。

相關問題