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