vim - 从一行到另一行显示文件的一部分

时间:2012-10-18 07:07:13

标签: vim

在vim中是否可以在缓冲区中将给定行的文件的一部分显示到另一行(例如,从第10行到第25行的文件a.txt)?是否也可以编辑它并通过删除内容(第10行到第25行)将其写回文件,然后从起始行(第10行)开始放置当前缓冲区?

我希望在不打开整个文件的情况下编辑我指定的行范围内的部分文件。我需要这个用于可用性目的,而不是性能问题。

2 个答案:

答案 0 :(得分:3)

NrrwRgn plugin这样做;编辑器功能源自Emacs。您可以使用:NarrowRegion编辑暂存缓冲区中的一系列行。

答案 1 :(得分:1)

我不确定如何在vim中单独执行此操作,但如果我遇到类似问题,我会拆分文件:

head -n 10 file > file1
tail -n +11 | head 15 > file2
tail -n +16 > file3

然后编辑中间文件

 vim file2

再次连接文件:

cat file1 file2 file3 > file

当然,使用一个小函数助手,你可以用一个命令来完成它。

如果问题是你不想查看整个文件(而不是因为文件非常大),那么定义隐藏文件其余部分的折叠:

1Gv9jzf16jvGzf

(说明:1Gv9j - 转到顶部,启动视觉区块,向下走9行; zf创建折叠,16j向下到第26行,{{1从第26行到结尾创建一个可视块,vG折叠文件的其余部分)