Vim复制指定⾏到指定⾏的内容,并拷贝到新的⽂件中(适⽤于
截取服务器⽇志,⽅便查看)
缘由:需要在庞⼤的⽇志中查询部分指定⽇志,如log⽇志记录的html(此类型的⽇志数据有很多⾏,普通右键复制和下载不是很⽅便)。
因为服务器的⽇志⽂件太过庞⼤,所以可以使⽤复制指定⾏到指定⾏的⽅式,来截取⽬标⽇志内容并复制到新⽂件中,然后再下载到本地查看
1. Vim打开⽇志⽂件后
vim test.log
vim命令进入编辑模式
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⾏⽂本就都被复制粘贴好了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。