Как в vim вернуться туда, где я был до поиска?

StackOverflow https://stackoverflow.com/questions/53911

  •  09-06-2019
  •  | 
  •  

Вопрос

Программируя в vim, я часто ищу что-то, выдергиваю это, затем возвращаюсь туда, где я был, вставляю это, изменяю.

Проблема в том, что после того, как я найду и найду, мне нужно ВРУЧНУЮ найти дорогу обратно туда, где я был.

Существует ли автоматический способ вернуться туда, где я был, когда начал последний поиск?

Это было полезно?

Решение

Ctrl+О переносит меня в предыдущее место.Не знаю о местоположении до поиска.

Редактировать:Также, `. приведет вас к последнему внесенному вами изменению.

Другие советы

Использовать `` чтобы вернуться к тому же положению, в котором вы находились до поиска/прыжка, или '' чтобы вернуться к началу строки, на которой вы находились до поиска/перехода.

Я всегда делал это, ставя отметку.

  1. В командном режиме нажмите м [буква].Например, м а устанавливает отметку на текущей строке, используя а в качестве идентификатора знака.

  2. Чтобы вернуться к отметке, нажмите ' [письмо].Например, ' а вернет вас обратно к отметке, установленной на шаге 1.

Чтобы просмотреть все отметки, установленные в данный момент, введите :Метки.


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

Допустим, вы перешли к отметке b, выполнив .Vim автоматически ставит отметку ' (это одинарная кавычка) — это любая строка, на которой вы находились, прежде чем перейти к отметке b.

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

Я обнаружил это случайно, используя :Метки команда, которая показывает список всех меток.

Вам действительно стоит прочитать :help jumplist это все очень хорошо объясняет.

CTRL+О и CTRL+Я, для прыжков вперед и назад.

Самый простой способ — установить отметку с помощью m[letter], затем вернитесь к нему с помощью '[letter]

Я использую этот:

nnoremap / ms/
nnoremap ? ms?

Затем, если я что-то ищу, используя / или ?, я могу быстро вернуться назад `s.Вы можете заменить букву s на любое письмо, которое вам нравится.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top