如何用 vim 打开一个 10G 的文本。。。

2022-05-31 20:11:25 +08:00
 idblife
其实就想编辑下前几行
9774 次点击
所在节点    Linux
55 条回复
ltkun
2022-05-31 20:17:51 +08:00
查看的话 head 编辑的话总要打开才能编辑了吧
Splatoon
2022-05-31 20:20:35 +08:00
修改内容不多的话,不妨用 awk sed 这类工具。
James369
2022-05-31 20:20:52 +08:00
dd 一段出来编辑,再 dd 回去
ltzliwe
2022-05-31 20:21:41 +08:00
```
head -[N] file > small
vim small
tail -n +[N+1] > large
cat small large > result
```

拆掉编辑就可以。。记得先实验一下
thedrwu
2022-05-31 20:35:14 +08:00
关了语法高亮编辑器来很轻松
20015jjw
2022-05-31 20:47:19 +08:00
没高亮应该是直接可以编辑吧
Zerek
2022-05-31 20:49:56 +08:00
康康 split 命令先给拆出来?
Alliot
2022-05-31 20:51:18 +08:00
用 readline 来改。。
bootvue
2022-05-31 20:54:56 +08:00
拆成一堆小文件 或者拉到 windows 下 用 piloedit 编辑 搜索很爽
codehz
2022-05-31 21:00:38 +08:00
(无论如何,如果改变了开头的长度,后面 10G 的内容都需要重写一遍才可以保存(
LonnyWong
2022-05-31 21:04:19 +08:00
mmap 到内存,用代码来改。
kiwi95
2022-05-31 21:18:37 +08:00
知道哪几行的话 sed 替换下
darklights
2022-05-31 21:54:52 +08:00
----- 以下跟楼主无关 -----

每次看到有人吹 vim 的大文件性能就想吐。本以为吐着吐着就惯了,没想到吃饱饭后看到还是会吐。

打开 900m 的纯 txt 占用 1G 内存,编辑操作会不会卡死完全看运气,保存文件整个重写,gVim 甚至连最基本的滚动都能跑满一个核卡死,管这叫“很轻松”?对,vim 非常牛非常叉,程序员的神器,然而但是不过完全没有对大文件有任何针对优化。

那些 L/V 吹,找台 Windows 的机器,装个 emeditor ,看看有针对性优化的编辑器长什么样子:编辑机械盘上的 1G 文件吊打 vim 编辑 ssd 上的 1G 文件,分块保存,而且只需 300m 内存。

----- 以上跟楼主无关 -----
pagxir
2022-05-31 22:05:57 +08:00
装个 hexedit 吧,文本编辑器本来就不是用来编辑二进制文件的
HankLu
2022-05-31 22:08:23 +08:00
啥文本?不会是裤子吧
documentzhangx66
2022-05-31 22:25:11 +08:00
这事本质与 Linux 哲学有关。Linux 哲学是一个 exe 只做一件事,这样可以高复用+高度解耦地模块化。但问题是,高性能的东西是另一个极端,需要高耦合才行。
ufan0
2022-05-31 23:10:51 +08:00
借楼问下 vscode

依稀记得 16/17 年那会儿,vscode 打开 200MB 的 txt 响应速度非常快,现在打开 100MB 的 txt 都非常缓慢甚至卡,请问你们有遇到这样的问题吗?

16/17 年用的处理器是 intel i7-6700HQ ,现在用的处理器是 intel11 代和 m1 。
searene
2022-05-31 23:11:57 +08:00
一般情况下,打开大文件一开始要等待,这是因为 vim 在做语法检测之类的事情,直接按一下 ctrl + c 终止就可以看到文件内容了,可以试一下
imycc
2022-05-31 23:20:49 +08:00
如果知道修改的模式,比如删除或替换指定内容,可以用 sed ,指定行数来修改。

还有一个没试过的办法,把你的.vimrc 备份后挪走,用不加载任何插件跟配置的情况下打开试试
swsh007
2022-05-31 23:30:17 +08:00
跟 vi 没啥关系
跟 buffer 有关
早年 32 位的 UltraEdit 就快的很
可惜越来越慢了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/856535

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX