緣由:需要在龐大的日志中查詢部分指定日志,如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行,可以自行適當調整為自己所需的數值。