在 VIM 中处理大文件

2024-02-22

我尝试在 VIM 中打开一个巨大的(~2GB)文件,但它被卡住了。我实际上不需要编辑文件,只需高效地跳转即可。

我如何在 VIM 中处理非常大的文件?


我今天有一个 12GB 的文件需要编辑。 vim LargeFile 插件对我不起作用。它仍然耗尽了我所有的内存,然后打印了一条错误消息:-(。我不能使用 hexedit,因为它不能插入任何内容,只能覆盖。这是另一种方法:

您拆分文件,编辑各个部分,然后重新组合它。但您仍然需要两倍的磁盘空间。

  • Grep 查找您要编辑的行周围的内容:

    grep -n 'something' HUGEFILE | head -n 1
    
  • 提取文件的该范围。假设您要编辑的行位于第 4 行和第 5 行。然后执行以下操作:

    sed -n -e '4,5p' -e '5q' HUGEFILE > SMALLPART
    
    • The -n需要选项来抑制 sed 打印所有内容的默认行为
    • 4,5p打印第 4 行和第 5 行
    • 5q处理完第 5 行后中止 sed
  • Edit SMALLPART使用您最喜欢的编辑器。

  • 合并文件:

    (head -n 3 HUGEFILE; cat SMALLPART; sed -e '1,5d' HUGEFILE) > HUGEFILE.new 
    
    • 即:从 HUGEFILE 中选取已编辑行之前的所有行(在本例中为前 3 行),将其与已编辑行(在本例中为第 4 行和第 5 行)组合,并使用此组合行集来替换HUGEFILE 中的等效项(在本例中为前 5 行)并将其全部写入一个新文件。

    HUGEFILE.new现在将是您编辑的文件,您可以删除原始文件HUGEFILE.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 VIM 中处理大文件 的相关文章

  • vim 脚本:如何在 vim 函数中执行命令

    为什么会出现以下情况 let s colorschemes synic ir black let s colorscheme idx 0 function RotateColorscheme let s colorscheme idx 1
  • Vim 中的类和函数名称高亮显示

    在沉迷于它的模态输入之后 我最近刚刚从 Textmate 设置了我的 Vim 环境 不过 Vim 中的语法高亮似乎不太美观 我用 C 编写代码 由于函数调用和类名无法突出显示 因此代码更难以阅读 我玩了一下配色方案 但找不到任何与 类名 或
  • 切换 git 分支时如何处理 vim 缓冲区?

    因此 我在 vim 缓冲区中打开了大量文件 并且正在使用 git 处理功能分支 突然 我意识到我需要恢复到主分支来进行快速修复 提交后 我将 vim 会话保持打开状态并切换回 master 分支 但是 当我尝试从缓冲区加载我需要的文件时 我
  • 在Vim中,如何删除单词的后缀?

    在vim中 在正常模式下 如果光标位于单词中 而不是最后一个字母 de从光标位置删除单词的后缀 如果光标位于最后一个字母上 x也这样做 同时de会跳到下一个单词的末尾 您将使用什么命令在这两种情况下都有效 无论最后一个字母与否 目的是将命令
  • 在 Vim 中搜索并替换为递增值

    假设我写了一个简单的 CSS 规则 如下所示 star 10 background url stars png no repeat 0 0 而我需要10个 所以我复制了9次 star 10 background url stars png
  • 如何在vim中将菜单键(“应用程序键”)映射到Escape键?

    我认为使用菜单键退出 vim 的插入模式将是一件很棒的事情 使用 Super 键也很好 但我不确定是否可能 因为 Super 键是一个修饰符 无论如何 我找不到任何与此相关的内容 寻求您的帮助并提前致谢 我认为没有任何方法可以配置 Vim
  • 如何在 Vim 中转置文件中的行和列的内容?

    我知道我可以使用 Awk 但我使用的是 Windows 机器 并且我正在为可能没有 Awk 的其他人创建一个函数 我也知道我可以编写 C 程序 但我不希望我正在制作的 Vim 实用程序需要编译和维护 原始文件可能是 THE DAY WAS
  • 在 vim 中,+register 和 +register 与 .命令?

    我很难理解这个问题的解决方案维姆高尔夫挑战赛 http vimgolf com challenges 5192f96ad8df110002000002 最好的建议解决方案是 cw
  • 在 VIM 中缩进文件夹中的所有文件

    我有一个包含数百个 TTL TeraTermLanguage 文件的文件夹 现在我想缩进所有这些文件 我已经创建了用于缩进的 teraterm vim 并使用 VIM 打开一个文件并执行 gg G 整个文件得到了正确的缩进 但是有什么方法可
  • VIM:在窗口顶部显示自定义参考栏

    我想设置一个 vim 环境来使用基本的 HTML 编辑 由其他人 为此 我想设置一个快速参考栏 显示在窗口顶部 例如
  • PHP file_get_contents 有限制吗? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 在 Vim 中的缩进线上按“Home”

    我有一个坏习惯 就是使用 home 键返回到行首 当我最近开始使用 vim 时 我注意到当我在缩进的行上按 home 键时 它会让我回到该行的开头 在 Notepad 我曾经使用的编辑器 中 它会让我返回到该行代码的开头 就在缩进之后 有没
  • 以 Vim 的 -o - 模式打开 Grep 输出中的文件

    如何将文件列表放入 Vim 的 o 模式 我有一个文件列表作为 Grep 的输出 我运行失败 1 grep il sid vim o 2 grep il sid xargs vim o 3 grep il sid xargs vim 4 v
  • vim 映射键不起作用

    我一直在尝试映射 ctrl 来在 vim 的插入模式下保存 它似乎永远不起作用 http vim wikia com wiki Map Ctrl S to save current or new files http vim wikia c
  • 禁用 VIM 中的警告?

    有没有办法禁用 VIM 中的警告 特别是 当文件从只读变为可写时 我想禁用警告 12 我有一个脚本可以打开文件进行编辑 但 vim 认为文件已更改并发出警告 Thanks 我的 vimrc 中有以下内容 你应该只需要第二个 它将消息回显到状
  • 如何使用 Vim 和 Eclipse 提高 PHP5.3 项目的工作效率(可能使用 Eclim 与 Zend Studio 集成)

    在开发应用程序时 我总是努力提高生产力 在过去的几年里 我可以说我在提高生产力方面取得了良好的进展 但我仍然发现我需要更多的工具或方法 我需要更快地编辑并学习盲打 目前正在过程中 因此我发现需要转向 Vim 现在已经一年多了 我已经放弃了
  • Vim errorformat:在消息字符串中包含部分表达式

    使用vim的errorformat语法 有没有办法使用部分消息来过滤结果 例如 除了错误本身之外 某些链接器错误没有任何明确的内容将它们区分为线路上的错误 path to foo cpp 42 undefined reference to
  • 使用 vim pythoncomplete 的 Python 文档字符串不显示我自己的类函数的换行符

    我在尝试使用时得到了一些意想不到的结果Python 全方位补全 http www vim org scripts script php script id 1542在我自己的类函数上 函数的文档字符串未正确设置换行符格式 如下图所示 当我从
  • vim 中的正则表达式查找和替换:向数字添加 .0

    我有一个如下所示的文件 1 1 0 1 6 1 0 2 8 1 0 3 10 1 0 4 12 1 0 6 如何为所有数字添加 0 后面的数字除外 我认为用正则表达式来做到这一点应该不会太难 但是我的正则表达式知识太生疏了 使用 VIM s
  • 将回车 ^M 替换为 Enter

    我知道如何删除 M在我的文件中 s M g 但这只是我想替换的一行 Mwith Enter VIM 中的 Enter 字符是什么 在命令行模式下使用 替换回车符 即

随机推荐

  • nginx 位置索引指令不起作用

    我是 nginx 的新手 我无法确定为什么我的 nginx 配置不能按预期工作 我想做的就是让 nginx 对于每个 Web 根 请求优先考虑 index html 而不是 index php 这是我的 nginx 配置 user www
  • 使用 R 重现 SPSS 因子分析

    我希望有人能指出我正确的方向 首先 我不是统计学家 我是一名软件开发人员 其任务是尝试使用 R 重现 SPSS 因子分析的结果 使用 PC 提取和最大方差旋转 我在过去一周才接触过 R 所以我试图找到我的方式 我确实发现 2010 年的这篇
  • 存在哪些基于 IP 进行人员地理定位的服务? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 人们使用什么来对一个人的 IP 进行地理定位以确定他们所在的城市 我已经尝试过 Google API 的
  • Hadley高级R书中的非标准评估

    在哈德利的高级R书籍 http adv r had co nz Computing on the language html 有一段代码我无法理解输出 f lt function x substitute x g lt function x
  • 是否可以按值删除队列元素?

    我想从队列中删除具有特定值的元素 这样的事该怎么办呢 我正在尝试创建映射和队列的并发混合 目前我尝试在这个答案 https stackoverflow com questions 7704526 is thare in stl or boo
  • Eclipse PyDev 完成挂起(再次)

    我在 Eclipse 中使用 PyDev 作为我的 Python 编辑器 就功能集而言 它很好 除了一件非常烦人的事情之外 一切都工作正常 代码完成本身运行速度很快 当我按 Alt Space 时 窗口几乎立即弹出 所有选项都在那里 顶部的
  • PHP DOM文档错误处理

    在我的应用程序中 我从 url 加载 xml 以便解析它 但有时该网址可能无效 在这种情况下我需要处理错误 我有以下代码 xdoc new DOMDocument try xdoc gt load url This line causes
  • 无法让 QueryDsl / APT 生成 Q 类

    我正在尝试在新的 Spring 项目中使用 QueryDsl 我对 QueryDsl 很陌生 对 Maven 和 Spring 也很陌生 所以我可能会缺少一些相当基本的东西 但我无法让 QueryDsl maven apt plugin 来
  • boost是否支持c++11的std::tuple的序列化?

    boost是否支持c 11的std tuple的序列化 我在 boost serialization 找不到 tuple hpp 头文件 我正在使用 boost 1 52 0 如果需要的话很乐意升级 但似乎1 53版本的变化 http ww
  • Silex - Twig_Error_Syntax:函数“路径”不存在

    根据Silex 文档 http silex sensiolabs org doc providers twig html symfony2 components integration Symfony 提供了一个 Twig 桥 它在一些 S
  • React-native run-android 卡在 99% appDebug

    I have previously shut down the react native run android still it gets stuck at 99 executing I don t seem to find any so
  • Gulp src 返回空文件

    我正在尝试为 sass js 编译创建 Gulp 任务 并且我还包含了用于实时重新加载的代码 它工作得很好 只是有时 gulp src 在我编辑它们时会将空文件扔到管道中 var gulp require gulp var sass req
  • 是否可以从 CUDA 10.1 内核调用 cuBLAS 或 cuBLASLt 函数?

    关于 CUDA 10 1 我正在对几何网格进行一些计算 并在网格的每个面进行大量独立计算 我运行一个 CUDA 内核来计算每个面 计算涉及一些矩阵乘法 因此我想使用 cuBLAS 或 cuBLASLt 来加快速度 由于我需要进行许多矩阵乘法
  • 测试 Django 信号的正确方法

    我正在尝试测试发送的信号 它正在提供 args 内部触发信号contact question create提交表单后立即查看 我的测试用例是这样的 def test form should post proper data via sign
  • TinyMCE 不工作 - 即使有他们的例子?

    ISSUE 我正在尝试使用 TinyMCE 4 0 12 但无法让它工作 它只会让我的文本区域完全消失 到目前为止我所做的 我什至从他们的页面准确复制了他们的示例代码 但它甚至不起作用 我已将所有文件提取到 js tinymce 我是否缺少
  • 如何在实体框架中按最后带有空值的列进行排序

    有谁知道如何返回最后带有空值的字符串的有序列表 我有这样的事情 using var context new DomainEntities var result context Users OrderBy u gt u LastName Th
  • module.exports 将所有函数包含在一行中

    这是一个后续问题在 Node js 中 如何 包含 其他文件中的函数 https stackoverflow com questions 5797852 in node js how do i include functions from
  • 检测图像上的点击

    我正在尝试动态加载图像并显示它们 如下所示 var uploader plupload getUploader uploader bind FileUploaded function up file res append div a hre
  • 当我可以直接访问IP时,为什么还需要xip io?

    xip io 欢迎屏幕显示如下 10 0 0 1 xip io 解析为 10 0 0 1 我可以直接使用IP 为什么还要经过xip io呢 是用域名而不是IP来访问服务器吗 主要用例是当您的应用程序需要支持多个子域时 以这些生产子域为例 w
  • 在 VIM 中处理大文件

    我尝试在 VIM 中打开一个巨大的 2GB 文件 但它被卡住了 我实际上不需要编辑文件 只需高效地跳转即可 我如何在 VIM 中处理非常大的文件 我今天有一个 12GB 的文件需要编辑 vim LargeFile 插件对我不起作用 它仍然耗