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

Есть ли команда в Vim/Vi, чтобы переместить курсор в конец подсветки поиска?

Есть ли в Vim/Vi команды для перемещения в выбранном сегменте поиска?

Например, если я ищу слово, есть ли какие-либо команды для перемещения курсора в конец выделенного сегмента? Скажем, у меня есть слово "FishTaco", и я хочу искать все экземпляры "Рыба" и вставлять что-то после него. Я знаю, что могу сделать глобальную замену, но что, если я хочу только внести изменения в пару несекретных экземпляров?

Я мог видеть, где было бы удобно перемещать курсор в конец текущего выделенного сегмента для выполнения действия.

4b9b3361

Ответ 1

Вы можете сделать это с помощью этого:

/Fish/e

/e на конце помещает ваш курсор в конец области поиска (вместо первого символа по умолчанию.

Ответ 2

Если вы просто хотите поместить курсор после последнего символа Fish, вы можете использовать

/Fish/e+1

который поместит ваш курсор после h. (Без +1 курсор закончится слева от последнего символа.)

Если вам особенно интересно разместить курсор после Fish, но только когда он появится в "FishTaco", вы можете попробовать один из следующих вариантов:

Вы можете использовать

/FishTaco/s+4

и ваш курсор окажется между Fish и Taco. /s+4 помещает курсор на 4 места после начала поискового запроса.

Вы также можете использовать

/FishTaco/e-3

который поместит курсор на 3 места слева от левой части последнего (конечного) символа.

Вы также можете использовать

/FishTaco/b+4 

потому что /b+4 будет считаться /s+4.

Ответ 3

Если вы уже искали /Fish, вы можете быстро изменить поиск, чтобы перейти к концу матча через //e, который повторяет последний поиск, но добавляет модификатор e, который уже был объяснен.

Ответ 4

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

Вы также можете использовать `< и `> для переключения курсора между началом и концом визуального блока, однако это влияет на сам выбор, поэтому он используется для reset или корректирует границы выбора.

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

Ответ 5

Ответ на "курсор в конце матча" уже задан.

Вы можете сделать :%s/Fish/FishTaco/c. Это дает вам возможность подтвердить или отклонить каждую замену и пропустить весь бизнес "курсор в конце матча".

Ответ 6

/ long-regexp1 \zs long-regexp2 /.. курсор остановится в \zs, см. help\zs