Подтвердить что ты не робот

Vim держит расположение курсора во время прокрутки

Есть ли способ сохранить местоположение cusror вне экрана в Vim/gVim во время прокрутки? Подобно многим редакторам Windows.
Я знаю о знаках и использую их. Я также знаю "." mark (последнее место редактирования), но ищет другие идеи. Я спрашиваю об этом, потому что иногда я хочу держать курсор в определенном месте, прокручивать в другое место с помощью колеса мыши, а затем просто нажимать клавишу броска или что-то, чтобы вернуть меня в это место.

4b9b3361

Ответ 1

Нет. vim - консольное приложение, поэтому на самом деле не имеет смысла, чтобы курсор за кадром (возможно, но просто запутался).

Альтернативное решение, чтобы перефразировать сообщения из этот поток из comp.editors:

Ctrl+o переходит в предыдущее расположение курсора, Ctrl+i переходит к следующему (например, отмена/повтор для движений)

Знаки кажутся другим решением.

Также используйте метки. Знаки называются буквами. Например, набрав ma помнит текущее местоположение под маркой a. Чтобы перейти к строке, содержащей метку a, введите. Для точного местоположения используйте `a.

Метки нижнего регистра - для каждого файла. Знаки с верхним регистром - глобальные; `A переключится на файл, содержащий метку A, на точное местоположение.

В основном ma, перемещайтесь, затем `a, чтобы вернуться назад.

Другой вариант, предложенный Павлом,

gi команда переключает Vim в режим Insert и помещает курсор в ту же позицию, что и в том случае, когда режим вставки был остановлен в последний раз.

Ответ 2

Почему бы вам не разбить окно, посмотреть, на что вы хотели посмотреть, а затем закрыть раскол?

:split

или

:vsplit (if you want to split vertically)

Ответ 3

Иногда вы можете избежать прыжков с отметками перед вводом текста - команда gi переключает Vim в режим Insert и помещает курсор в ту же позицию, что и в том случае, когда режим вставки был остановлен в последний раз.

Ответ 4

Единственное подобное поведение, которое я нашел в Vim:

z t "прокрутите экран вниз, насколько это возможно, не перемещая курсор"

z b "прокрутите как можно дальше".

Ctrl + E "прокрутите одну строку вниз, если возможно"

Ctrl + Y "прокрутите одну строку вверх, если возможно"

Ответ 5

Google говорит, что курсор (и, следовательно, текущая строка) должен быть виден в Vi, поэтому вам придется использовать метки.

Ответ 6

Также очень полезны '' (2x одиночные кавычки) и `` (2x назад кавычки). Первый прыгает обратно к линии, которую вы были до последнего прыжка (например, страница вниз). Последний возвращается к строке и столбцу, который вы были до последнего прыжка.