执行 make 后恢复光标位置

Restore cursor position after executing make

假设光标在一行的水平位置42。然后你进入正常模式并执行命令

:mak

这将调用 makemake 执行后,您 return 进入正常模式,但您的光标位于同一行的水平位置 0(假设行首不包含空格)。

是否可以告诉vim它应该return到执行make之前同一行的相同水平位置?

我玩过 nostartofline 这样的设置,但运气不好。有什么建议吗?

这是因为以下行为,记录在 :help :make 下:

  7. If [!] is not given the first error is jumped to.

如果没有错误,Vim 仍然会以某种方式 "jumps" 到当前行中的第一个非空白字符(这可能是错误或实施的无关紧要的副作用)。

如果要保持当前光标位置,只需使用:make!