Vim復制指定行到指定行的內容,並拷貝到新的文件中(適用於截取服務器日志,方便查看)


緣由:需要在龐大的日志中查詢部分指定日志,如log日志記錄的html(此類型的日志數據有很多行,普通右鍵復制和下載不是很方便)。

  • 因為服務器的日志文件太過龐大,所以可以使用復制指定行到指定行的方式,來截取目標日志內容並復制到新文件中,然后再下載到本地查看

1. Vim打開日志文件后

vim test.log

2. 普通模式輸入冒號: 進入命令模式,輸入想要復制的文本起始行數如200

3. 普通模式直接輸入v進入visual可視模式,使用多種方式進行文本選擇

可以使用v+j/k/h/l 進行文本選擇,也可以使用方向鍵 ← ↑ ↓ → 進行文本選擇   
輸入 ^ 表示選中當前行,光標位置到行首
輸入 $ 表示選中當前行,光標位置到行尾

4. v+想要選中的截止行數+G完成文本選中

如 v400G 表示選中當前光標行數至第400行的文本, 必須切換成大寫G使用

5. 直接輸入y鍵完成對選中文本的復制

381 lines yanked表示已經將選中的381行文本復制到了內置剪切板了

6. vim一個新文件,普通模式下直接輸入p鍵完成粘貼,輸入 :wq, 完成保存

  • 但是有個問題,我們明明復制的有381行,為什么粘貼下來只有50呢?
  • 因為Linux默認情況下,vim一次最多可以復制50行數據(從一個文件到另一個文件)
  • 所以我們需要更改下Linux的默認復制設置

7. 修改Linux的默認復制設置

  • 修改$HOME/.vimrc 路徑下的vimrc文件(如果不存在則新建)
vim $HOME/.vimrc
  • 填寫以下兩個命令, 二選一,並保存:
set viminfo='1000
set viminfo='1000,<666

set viminfo='1000 表示不限制一次最多可以復制的行數。
set viminfo='1000,<666 表示一次最多可以復制666行,可以自行適當調整為自己所需的數值。

8. 重新完成上述復制操作后,vim新建文件粘貼后,復制的381行文本就都被復制粘貼好了

Computer science and software engineering have always been my passion


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM