簡體   English   中英

如何在vim中將錯誤行和更多行復制到文件末尾?

[英]How to copy error line and few more lines to end of file in vim?

我在 ansible 日志中發現致命錯誤並將它們復制到文件末尾以查看所有致命錯誤。

:g/fatal:/t$

但我想復制錯誤和下一行,因為下一行有時會被“忽略”,不需要考慮。 我只能找到真正需要的致命錯誤

如何移動圖案和更多的線條? 在 grep 中我們可以找到 -A -B ,在 g 命令中有什么方法可以做到嗎?

像所有從viex繼承的 ex 命令一樣, :help :t可以采用:help :range 在這種情況下,您希望對匹配的行和下面的行進行操作,這將轉換為以下范圍:

.,+1

在哪里:

  • 逗號的左側是第一行,
  • 右邊是最后一行,
  • . 代表當前行,
  • +1代表當前行下方的行,

這給了你這個命令:

:g/fatal:/.,+1t$

請注意. 是隱含的, ++1的快捷方式,因此可以縮短為:

:g/fatal:/,+t$

編輯:@romainl 的答案絕對更好,應該是 OP 嘗試做的首選。

如果您要做的只是復制包含“fatal:”的行,然后再復制幾行,您可以執行以下操作:

/fatal:<CR>y<motion> ,其中<CR>Enter<motion>可以是,例如, 2j表示“這一行和下一行”或G表示“從這一行到文件末尾” “, 等等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM