使用 vi 编辑非常大的文件

使用 vi 编辑非常大的文件

如何使用 vi 编辑一个非常大的文件?例如:20 GB 的日志文件。是否有任何修改可以处理这个尺寸?

答案1

如果您在 32 位系统上使用 Vim,我认为没有办法让它做到这一点。它有文件大小硬性限制基于 32 位整数的大小。

如果您可以在 64 位系统上进行编辑,Vim 的文件大小限制将达到艾字节范围。

Vim 也有任意下限,它将文件的块从其交换文件分页到 RAM 中。在我当前使用的 64 位 CentOS 5.x 系统上,Vim 默认值约为 3 GB。如果您有足够的实际 RAM 来加载整个文件,则可以提高maxmemmaxmemtot限制以避免交换。如果不这样做,您最终将使用操作系统的通用交换空间,这可能不会更快。需要明确的是,您不需要提高此限制。它只是允许 Vim 使用更多的真实内存(如果你有的话)。

如果您指的是 vi 的其他实现,请说明是哪个。文件大小限制是 vi 实现不同的领域之一。

相关内容