为什么 vim 在文件恢复后无法正常工作?
Why is vim not working properly after a file recover?
我去 vim 打开一个日志文件,但被警告说找到了一个交换文件。其中一条警告建议我可能想使用 vim -r filename.log 打开文件。我这样做了,但是现在当我 'vim' 在一个文件中时,我必须键入“GG”(而不是“G”)才能将我带到最后,然后输入“gg”(而不是“ g") 让它把我带到开头。当我使用 j 和 k 向上/向下移动一行时,它突出显示了该行的一部分(请参见下面屏幕截图中的蓝色和绿色光标),而之前没有突出显示。有什么线索吗?
谢谢!
I have to type "GG" (instead of "G") to get it to take me to the end,
真奇怪...是否有可能第一个 G
被未决的击键占用?例如,如果您键入 gG
,那是一个无效的命令并被忽略。所以你需要 gGG
才能真正到达文件末尾,因为第一个 G
被忽略了......这可能是正在发生的事情吗?
否则,您是否有 G
或使用 G
作为前缀的映射? :map G
是否显示任何已定义的映射?
and "gg" (instead of "g") to get it to take me to the beginning.
这是正常的。 gg
是 Vim 中的命令(在原来的 vi
中也是如此)去文件的顶部。
您是否正在考虑 less
,它通过单个 g
到达顶部?
And when I use j and k to move up / down one line, it highlights part of the line (see blue and green cursors in screenshot below)
这是 matchit
plug-in 的效果,它与 Vim 一起提供(在 Vim 的最新版本上,但我相信它已经与 Vim 相当长一段时间。)它默认启用,作为启动的一部分加载。
只要您将光标放在其对上,matchit
plug-in 就会突出显示匹配的双括号、大括号或方括号。因此,由于您将光标放在 [
上,Vim 将突出显示相应的 ]
.
whereas before there was no highlight. Any clues what could be going on?
您可能没有注意到 matchit
的效果,即使它已启用,因为它只会在您的光标位于括号顶部时触发。也许这个日志文件的不同之处在于所有行都以括号开头,这就是它如此突出的原因?
或者您的计算机中可能有不同版本或风格的 Vim,其中一些不会加载 matchit
(也许您有一个“最小”Vim不支持 plug-ins?)也许你有命令 vim
、vi
、view
,其中一些会加载不同版本的 Vim,其行为不同。在大多数情况下,您倾向于使用其他版本,但这次由于您收到有关恢复文件并明确使用 vim -r
的消息,您最终使用了加载它的特定版本?
您可以使用 :version
命令检查您使用的 Vim 版本以及可用的功能。 (特别是,寻找“最小”,或检查 +eval
是否已启用,如果它被列为 -eval
则意味着对外部 plug-in 文件的支持将大部分被禁用。 )
您还可以检查:scriptnames
以查看Vim加载的脚本文件列表,您可以检查matchit.vim
是否包含在该列表中。
我去 vim 打开一个日志文件,但被警告说找到了一个交换文件。其中一条警告建议我可能想使用 vim -r filename.log 打开文件。我这样做了,但是现在当我 'vim' 在一个文件中时,我必须键入“GG”(而不是“G”)才能将我带到最后,然后输入“gg”(而不是“ g") 让它把我带到开头。当我使用 j 和 k 向上/向下移动一行时,它突出显示了该行的一部分(请参见下面屏幕截图中的蓝色和绿色光标),而之前没有突出显示。有什么线索吗?
谢谢!
I have to type "GG" (instead of "G") to get it to take me to the end,
真奇怪...是否有可能第一个 G
被未决的击键占用?例如,如果您键入 gG
,那是一个无效的命令并被忽略。所以你需要 gGG
才能真正到达文件末尾,因为第一个 G
被忽略了......这可能是正在发生的事情吗?
否则,您是否有 G
或使用 G
作为前缀的映射? :map G
是否显示任何已定义的映射?
and "gg" (instead of "g") to get it to take me to the beginning.
这是正常的。 gg
是 Vim 中的命令(在原来的 vi
中也是如此)去文件的顶部。
您是否正在考虑 less
,它通过单个 g
到达顶部?
And when I use j and k to move up / down one line, it highlights part of the line (see blue and green cursors in screenshot below)
这是 matchit
plug-in 的效果,它与 Vim 一起提供(在 Vim 的最新版本上,但我相信它已经与 Vim 相当长一段时间。)它默认启用,作为启动的一部分加载。
只要您将光标放在其对上,matchit
plug-in 就会突出显示匹配的双括号、大括号或方括号。因此,由于您将光标放在 [
上,Vim 将突出显示相应的 ]
.
whereas before there was no highlight. Any clues what could be going on?
您可能没有注意到 matchit
的效果,即使它已启用,因为它只会在您的光标位于括号顶部时触发。也许这个日志文件的不同之处在于所有行都以括号开头,这就是它如此突出的原因?
或者您的计算机中可能有不同版本或风格的 Vim,其中一些不会加载 matchit
(也许您有一个“最小”Vim不支持 plug-ins?)也许你有命令 vim
、vi
、view
,其中一些会加载不同版本的 Vim,其行为不同。在大多数情况下,您倾向于使用其他版本,但这次由于您收到有关恢复文件并明确使用 vim -r
的消息,您最终使用了加载它的特定版本?
您可以使用 :version
命令检查您使用的 Vim 版本以及可用的功能。 (特别是,寻找“最小”,或检查 +eval
是否已启用,如果它被列为 -eval
则意味着对外部 plug-in 文件的支持将大部分被禁用。 )
您还可以检查:scriptnames
以查看Vim加载的脚本文件列表,您可以检查matchit.vim
是否包含在该列表中。