在足够大的文件上尝试执行此操作(例如,超过80,000行和大约500k +)会导致事情崩溃或最终停滞在我的服务器和本地Mac上。
我也在命令行上尝试过,结果相同:
vim -es -c '%s/\n/\\n/g' -c wq $file
此外,问题似乎出在选择(\n
)而非替换(\\n
)上。
对于较大的文件,我当然可以split
将它们cat
返回,但是在我的情况下,分割点不能是任意的,必须为每个分割手动进行调整。 / p>
我很高兴有其他方法可以做到这一点-sed等-但是我那里有类似的问题和其他问题,我希望能够通过vim做到这一点。
答案 0 :(得分:2)
我要添加我的评论作为答案:
文本编辑器通常不喜欢“巨大的”行(这是替换后的结果)。
要测试这是否是由于“大线”而不是替代本身引起的,我进行了此测试:
我用脚本创建了一个约500KB的简单文件。没有换行符,只有一行。然后我尝试用vim加载文件。结果?我不得不杀死它:-)。
但是,如果我不时在同一脚本上写一些新行,则打开文件没有问题。
此外,您可以尝试以下操作:在vim上,将foo.DoWork(Of t as {Person}, "Jane")
替换为\n
(如果速度较快),那么这也应该确认“大问题”问题。