vim或任何其他文本编辑器如何在后台处理字符串?他们怎么能在几秒钟内从大文件中找到一组字符串(比如4GB或更多)?这种快速字符串搜索背后的逻辑是什么?
答案 0 :(得分:0)
与大多数其他文本编辑器一样,Vim仍然将整个文件读入内存(在Vim中称为 buffer )。因此,它的搜索性能取决于您的操作系统(虚拟)内存处理和Vim正则表达式引擎的性能。
使用不会将整个文件保留在内存中的工具,您可能会获得更好的性能。像grep
和sed
这样的工具可以执行此操作,并且编辑器也只能读取文件的各个部分(尽管这些编辑器通常标记为"磁盘编辑器"不是&# 34;文本编辑")。