1

我去 vim 中打开一个日志文件,但被警告说已找到交换文件。其中一个警告表明我可能想使用 vim -r filename.log 打开文件。我这样做了,但是现在当我在文件中“vim”时,我必须输入“GG”(而不是“G”)才能让它带我到最后,并且“gg”(而不是“g” ) 让它带我到开始。当我使用 j 和 k 向上/向下移动一行时,它会突出显示该行的一部分(请参见下面屏幕截图中的蓝色和绿色光标),而之前没有突出显示。任何线索可能会发生什么?

在此处输入图像描述

谢谢!

4

1 回答 1

1

我必须输入“GG”(而不是“G”)才能把我带到最后,

这很奇怪......是否有可能第一个G被挂起的击键消耗?例如,如果您键入gG,这是一个无效的命令并被忽略。因此,您gGG实际上需要转到文件的末尾,因为第一个G被忽略了……这可能是正在发生的事情吗?

否则,您是否有可能有一个映射G或使用G前缀的东西?是否:map G显示定义的任何映射?

和“gg”(而不是“g”)让它把我带到开始。

这很正常。gg是 Vim(以及原始vi版本)中转到文件顶部的命令。

您是否正在考虑less单曲中哪个位居榜首g

当我使用 j 和 k 向上/向下移动一行时,它会突出显示该行的一部分(请参见下面屏幕截图中的蓝色和绿色光标)

这是 Vim 附带的插件的效果matchit(在最新版本的 Vim 上,但我相信它已经随 Vim 附带了很长一段时间。)默认启用,作为启动的一部分加载。

只要您将光标放在它的对上,matchit插件就会突出显示匹配的括号、大括号或括号。因此,由于您将光标放在 a 上[,Vim 将突出显示相应的].

而之前没有亮点。任何线索可能会发生什么?

matchit即使启用了它,您也可能没有注意到它的效果,因为它仅在您的光标位于括号顶部时才会触发。也许这个日志文件的不同之处在于所有行都以括号开头,这就是它如此突出的原因?

或者你的机器中可能有不同版本或风格的 Vim,其中一些将无法加载matchit(也许你有一个不支持插件的“最小”Vim?)也许你有命令vim, viview其中一些会加载行为不同的不同版本的 Vim。在大多数情况下,您倾向于使用其他版本,但是这一次,由于您收到有关恢复文件并vim -r明确使用的消息,您最终使用了加载它的特定版本?

您可以使用该:version命令检查您正在使用的 Vim 版本以及可用的功能。(特别是寻找“最小”,或者检查是否+eval启用,如果它被列出,-eval则意味着对外部插件文件的支持将大部分被禁用。)

您还可以查看:scriptnamesVim 加载的脚本文件列表,您可以查看是否matchit.vim包含在该列表中。

于 2020-08-18T01:39:31.813 回答