2015-03-31 101 views
1

假设光标位于一行的水平位置42。然后你进入正常模式和执行命令执行make后恢复光标位置

:mak 

它将调用make。在执行make后,您将返回到正常模式,但您的光标位于同一行的水平位置0(假设行的开头不包含空格)。

是否有可能告诉vim它应该返回到与执行make之前相同的行的同一水平位置?

我玩的设置像nostartofline没有运气。有什么建议么?

回答

3

这是由于以下行为,:help :make下记载:

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

如果没有错误,Vim仍然莫名其妙“跳”到第一个非空字符在当前行(这可能是实施的一个错误或无关紧要的副作用)。

如果要保留当前光标位置,只需使用:make!即可。

+0

是':mak!'完美地解决了这个问题。非常感谢!我已经在这个问题上奋斗了好几个月,有时它让我发疯了;-) – 2015-03-31 11:25:05

+0

很高兴我能帮上忙。这确实有点不直观和古怪。 – 2015-03-31 11:27:34