2015-03-31 100 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