我希望能够通过匹配模式来处理长文件,并且如果可能的话转到下一个模式,而不是让整个文件在屏幕上可见。
例如,假设我有一个以"名称开头的条目列表:"而且我想逐个浏览它们,我一次只能查看一个,我想"姓名:"当我转到下一个条目时,点击屏幕顶部,以下条目以&#34开头;名称:"要被切断
答案 0 :(得分:1)
Ain没有像旧学校那样的学校:
$ ex filename
:vim foo %
(do your editing on this line)
:cn
(more editing)
:wq
使用:cp
移动到上一个匹配行:p
以查看当前行(例如,在命令之后)。
或者,您可以使用Vim打开文件,并使用gQ
激活稍微有用的Ex模式:
$ vim filename
gQ
:vim foo %
(and so on)
答案 1 :(得分:0)
你可以这样做:
:g/^Name: /norm 999o
然后输入n
转到下一个结果。
这是一个hacky解决方案,但我无法想到另一种方式。它在每场比赛下创造了999个新线。完成后,您需要运行:g/^Name: /norm j999dd
来修复新行。
答案 2 :(得分:0)
您可以修改搜索前进/后退的行为,以便始终将匹配项置于屏幕顶部。
:nnoremap n nzt
:nnoremap N Nzt
现在只需搜索您的模式(使用/
,*
等),然后分别使用n
和N
向前/向后搜索结果。