在Vim中只打开文件的前几行

时间:2011-03-21 23:58:31

标签: vim csv text-files macvim

我正在处理一个只有1 GB的CSV。我想查看文件的结构和数据样本,但我不想打开整个文件。如何在Vim中加载前几行?如果它有所作为,我正在使用MacVim。

5 个答案:

答案 0 :(得分:19)

我通常使用headtail之类的命令来查看大文件的部分内容。

$head -10 <large file>

答案 1 :(得分:14)

如果你必须从vim这样做,请使用:

:r !head -10 path/to/big.file

这将获得big.file的前10行并将它们插入当前缓冲区。

答案 2 :(得分:2)

如果您只想预览而不是编辑文件,可以使用lessmore(请参阅下面的评论)命令。您可以使用空格键并输入以读取更多文件,然后按q退出。

答案 3 :(得分:2)

$ vim '+%!head -10' FILE

这样做是打开文件,然后执行:%!head -10,它通过head -10管理整个缓冲区,并用head的输出替换缓冲区的内容。

顺便提一下。记住引号。

答案 4 :(得分:0)

对于希望在Windows上执行此操作的任何人,可以在PowerShell中使用以下命令在gvim中打开文件的前10行:

PS C:\MyCSVDirectory> Get-Content .\myfile.csv -TotalCount 10 > out | gvim out

我个人更喜欢在gvim中打开它,但是如果您想在终端中打开它,只需使用vim。还要注意,这将在csv目录中创建一个名为out的文件。

或者,您可以使用以下命令在终端中简单地打印行:

PS C:\MyCSVDirectory> Get-Content .\myfile.csv -TotalCount 10