2015-03-31 2 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!' Отлично решает эту проблему. Спасибо огромное! Я боролся с этой проблемой в течение нескольких месяцев, и иногда это заставляло меня сойти с ума ;-) –

+0

Рад, что я мог помочь. Это действительно немного неинтуитивно и причудливо. –

Смежные вопросы