首页 > 系统服务 > 详细

Vim复制指定行到指定行的内容,并拷贝到新的文件中(适用于截取服务器日志,方便查看)

时间:2021-06-09 21:42:22      阅读:53      评论:0      收藏:0      [点我收藏+]

缘由:需要在庞大的日志中查询部分指定日志,如log日志记录的html(此类型的日志数据有很多行,普通右键复制和下载不是很方便)。

  • 因为服务器的日志文件太过庞大,所以可以使用复制指定行到指定行的方式,来截取目标日志内容并复制到新文件中,然后再下载到本地查看

1. Vim打开日志文件后

vim test.log

2. 普通模式输入冒号: 进入命令模式,输入想要复制的文本起始行数如200

技术分享图片

3. 普通模式直接输入v进入visual可视模式,使用多种方式进行文本选择

可以使用v+j/k/h/l 进行文本选择,也可以使用方向键 ← ↑ ↓ → 进行文本选择   
输入 ^ 表示选中当前行,光标位置到行首
输入 $ 表示选中当前行,光标位置到行尾

4. v+想要选中的截止行数+g完成文本选中

如 v400g 表示选中当前光标行数至第400行的文本

技术分享图片

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

其中,666表示一次最多可以复制666行,可以自行适当调整为自己所需的数值。
set viminfo=‘1000表示不限制一次最多可以复制的行数。

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

Vim复制指定行到指定行的内容,并拷贝到新的文件中(适用于截取服务器日志,方便查看)

原文:https://www.cnblogs.com/wangchengxu/p/14868187.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!