无论如何要在vim中按百分比导航?


25

我经常打开大文件,通过日志查找信息。由于在我的情况下所有行都有时间戳,因此我可以确定我感兴趣的信息位于整个文件的哪一部分。例如,

  • 在文件内容的下半部分(大于或等于50%)或
  • 到文件结尾将近增加10%,或者
  • 向下滚动原始文件的20%。

因此,以这种方式(即按百分比)快速导航-是否已有可用的现有功能vim


@stephane有什么办法可以使当前行增加10%?在帮助中看不到任何要导航的内容:h N%
mtk 2014年

我只是尝试了相对百分比+ 50%,这是行不通的,所以没有。我已经更新了答案以显示帮助信息。
X田

Answers:


45

抱歉,我的回答很简短,但是

只需输入 50%

                                                        *N%*
{count}%                Go to {count} percentage in the file, on the first
                        non-blank in the line |linewise|.  To compute the new 
                        line number this formula is used:
                            ({count} * number-of-lines + 99) / 100
                        See also 'startofline' option.  {not in Vi}

3
这个答案是完美的。而且,如果您还可以进行相对运动,则可能会变得更大:也就是说,无论向前看什么,都向前移动10%。另请注意,您不应进入:访问命令模式。
尼龙

3

[count]%用于绝对导航的命令(多么直观!)。对于相对导航,您必须自己计算金额。例如向下滚动33%:

:exe 'normal!' 33 * line('$') / 100 . 'j'

(您可能想创建v:count用于这些的映射。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.