我去 vim 中打开一个日志文件,但被警告说已找到交换文件。其中一个警告表明我可能想使用 vim -r filename.log 打开文件。我这样做了,但是现在当我在文件中“vim”时,我必须输入“GG”(而不是“G”)才能让它带我到最后,并且“gg”(而不是“g” ) 让它带我到开始。当我使用 j 和 k 向上/向下移动一行时,它会突出显示该行的一部分(请参见下面屏幕截图中的蓝色和绿色光标),而之前没有突出显示。任何线索可能会发生什么?
谢谢!
我必须输入“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
, vi
,view
其中一些会加载行为不同的不同版本的 Vim。在大多数情况下,您倾向于使用其他版本,但是这一次,由于您收到有关恢复文件并vim -r
明确使用的消息,您最终使用了加载它的特定版本?
您可以使用该:version
命令检查您正在使用的 Vim 版本以及可用的功能。(特别是寻找“最小”,或者检查是否+eval
启用,如果它被列出,-eval
则意味着对外部插件文件的支持将大部分被禁用。)
您还可以查看:scriptnames
Vim 加载的脚本文件列表,您可以查看是否matchit.vim
包含在该列表中。