Mark24
V2EX  ›  问与答

Vim 最大可以打开多大的文件(流畅操作)?

  •  1
     
  •   Mark24 · Feb 23, 2016 · 15381 views
    This topic created in 3759 days ago, the information mentioned may be changed or developed.

    今天拿到一份 90M 的数据做试验, JSON 纯文本,用 Sublime 打开,需要 10s 吧(我是 SSD )然后,进行一个全选复制就奔溃掉了
    find 操作,很迟钝,但是可以用
    切换文件类似为 JSON ,界面奔溃,无法完成
    插件,优化格式,界面奔溃

    同样,想把数据导入客户端,粘贴的形式,数据库客户端崩溃掉了

    最后命令行, 5 秒导入 30w 左右的数据

    艾玛,最后还是命令行是王道

    那么问题来了, Vim 这种,能承受的文件大小是多大?

    我觉得我要去学 Vim 了。一旦数据量大,好像还是经久不衰的化石编辑器, Diao 一点

    12 replies    2021-02-28 13:50:11 +08:00
    SpicyCat
        1
    SpicyCat  
       Feb 23, 2016   ❤️ 2
    如果你只是想处理大文件的话,不必专门学 vim ,当然了解下 vim 的基本操作也不是坏事。
    参看这个答案: http://superuser.com/questions/346510/can-i-use-vim-to-open-a-huge-file-effectively
    使用 less 更有效率。
    如果想用 vim 打开大文件,可以先看看这个配置,能使 vim 打开大文件更有效率
    http://vim.wikia.com/wiki/Faster_loading_of_large_files

    如果大文件有非常非常长的行,比如 100M 的文件,只有一行,那么用 vim 打开可能有问题。
    参看 http://unix.stackexchange.com/questions/139254/why-cant-vim-open-a-100-mb-text-file-when-i-have-16-gb-ram
    morefreeze
        2
    morefreeze  
       Feb 23, 2016
    这个和你 vim 开的插件也有关,裸的话应该也好测试。

    但我想说的和 1 楼一样,你如果为了修改大文件,可以尝试用 awk,sed 或者切分小文件来合并,来解决。
    xpsair
        3
    xpsair  
       Feb 23, 2016
    VIM 打开过单个大小将近 1GB 的 .txt ,表示需要等几秒,然后就跟开几 MB 大小的 .txt 没什么差异了。

    当然,是用的服务器……
    knightdf
        4
    knightdf  
       Feb 23, 2016
    vim 服务器上 1 , 2 个 G 的日志随便开.....
    lobee90
        5
    lobee90  
       Feb 23, 2016
    @knightdf Emacs 表示不服!!!
    默认情况,Emacs 打开打超过 10MB 文件会收到警告信息:"File foo.bar is large (XX.XM), really open?"
    以通过设置`large-file-warning-threshold`的值,来改变产生警告的阀值.推荐将该值设为 100MB 左右
    如果把该变量设为 nil,这表示不管打开的文件有多大,永远不会产生这种警告.
    tracyone
        6
    tracyone  
       Feb 23, 2016
    其实这种大体积文件一般是日志文件,要查找难道不是 grep,sed,awk,ag,awk 这些命令?
    knightdf
        7
    knightdf  
       Feb 23, 2016
    @lobee90 不说了, less 赢了
    chemzqm
        8
    chemzqm  
       Feb 23, 2016
    这种情况,你需要的是 sed
    对, sed 就是编辑器,文件几个 G 都没问题!
    6david9
        9
    6david9  
       Feb 23, 2016
    以前用 vim 看日志,打开过 1g+ 的文件,但是内存占用要超过文件大小。要是必须用编辑器打开大文件,可以试试 joe ,大文件不是一次加载进内存的。 emacs 操作风格
    hronro
        10
    hronro  
       Feb 24, 2016
    求一个 90M 的 JSON 文件做测试
    wittyfox
        11
    wittyfox  
       Feb 24, 2016 via Android
    我这不 vim 咋 1 万行就不行了。
    qiuhang
        12
    qiuhang  
       Feb 28, 2021
    @hronro 你自己写个简单的循环,随机生成不就好了。别说 90M,900M 、9000M 都是小意思。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1274 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 17:34 · PVG 01:34 · LAX 10:34 · JFK 13:34
    ♥ Do have faith in what you're doing.