缘由:需要在庞大的日志中查询部分指定日志,如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行,可以自行适当调整为自己所需的数值。