История движения курсора в Vim

10

Как я могу восстановить положение курсора в Vim, как это было до прокрутки, выбора или PgUp / PgDn?

Я устал искать, где я был, прежде чем прокрутить вверх, чтобы посмотреть что-то наверху.

Есть ли что-то вроде команд «Предыдущая позиция курсора» и «Следующая позиция курсора» (например, «u» и «R» для обычной отмены / возврата)?

Пример: смотреть где-то в середине исходного файла (без редактирования), затем прыгать в верхнюю часть ( 1G) и затем не найти, где вы были до этого. Конечно, никаких оценок не установлено. (Я знаю, что могу использовать «: sp» для просмотра нескольких мест одновременно).

Обновить. Вопрос все еще открыт, я получил продолжение:

The answerers didn't understand your question and the answers were too weak of a solution. c-o & c-i don't work for movements.
If I understood correctly, I find that your question was un-answered and that you were looking for a solution for a scenario like this:
As I am vim beginner I frequently do incorrect movements and actions and would like to undo them as though I had never pressed anything, returning to my previous editing location before I started messing up.

Итак, существуют ли какие-либо стандартные или нестандартные (включая исправления для расширений Vim или Vim) способы заставить его запомнить историю перемещения курсора?

Vi.
источник

Ответы:

9
  • Ctrlo возвращается в список переходов
  • Ctrli идет вперед в списке прыжков

Кроме того, я хотел бы рассмотреть возможность установки отметки с помощью m'и когда закончите с помощью прокрутки ''.

Акира
источник
ОК, Ctrl + O возвращает меня к месту, где я редактировал. Как просто к тому месту, где я искал ? Я ввожу «1G», чтобы перейти к началу, и не знаю, как вернуться назад (я не редактировал). Конечно, отметка не установлена, и я не использовал ": sp".
Ви.
@Vi: нет, ctrl-o переходит туда, где был ваш последний прыжок (список переходов). г; идет туда, где вы редактировали в последний раз
Акира
1
1. "vim initrd.txt". 2. 5 раз PgDn, 10 раз вниз. 3. Держите PgUp, пока не достигнете вершины. 4. Ctrl + o? Нет, это просто прыгнул на вершину. 5. Crtl + o снова? Он открыл какой-то другой файл ... Я не понимаю, что именно делает Ctrl + o, но он не просто отменяет последнюю команду перемещения курсора.
Ви.
я знаю, что он использует "список переходов" ..: help jumps ... вот почему я имел в виду, вероятно, хорошая идея использовать маркеры. если вы хотите перескочить в своем файле и вернуться в то место, с которого вы начали: установите метку, прыгайте вокруг и затем возвращайтесь с ''.
Акира
Поэтому я не могу заставить Vim воспроизводить текст и историю прокрутки курсора назад (я также ожидал, что он будет обрабатывать прокрутку мыши в gvim), верно? Я ожидал, что, удерживая Ctrl + O, я вижу, что мои движения текста меняются местами, заканчивая только что открытым файлом, расположенным в начале.
Ви.