В Vim: как изменить выделенный раздел? - PullRequest
4 голосов
/ 31 января 2010

cw меняет слово. Аналогично, если я выбрал разделы в vim (найденные /), как мне изменить один из выделенных разделов, чтобы я мог повторить (.) процесс во всех остальных выделенных разделах.

Я знаю, %s сделает свое дело. Но я хотел пойти этим путем / (визуальное удовлетворение).

Edit:
Я ищу расширитель для c как w

Edit:
Я хочу сделать что-то вроде c выбранный раздел или d выбранный раздел или y выбранный раздел и т.д. Как и вы cw, dw, yw или ct”, dt” или yt”

Ответы [ 4 ]

3 голосов
/ 31 января 2010

Найдите текст с помощью /foo как обычно, затем используйте c//e - но убедитесь, что вы используете // вместо / или n, чтобы найти последующие совпадения.

(//e означает, что последний поиск повторяется, но курсор помещается в конец слова, а не в начало. Однако флаг e запоминается для следующего поиска, поэтому вам необходимо используйте // впоследствии.)

1 голос
/ 31 января 2010

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

:%s/old/new/gc

Edit: Из других ответов звучит так, будто нет возможности легко получить выбор. Может быть, вы могли бы использовать возможность сценариев Python в Vim, чтобы написать команду, чтобы делать то, что вы хотите?

1 голос
/ 31 января 2010

Поиск строки с помощью / не выделяет ее - она ​​только выделяет ее.

Чтобы выбрать область текста, щелкните и перетащите курсор мыши на нее или используйте клавиши v, V или ctrl-v в обычном режиме (чтобы выбрать нормальную область, по линиям или прямоугольной области соответственно), затем перейдите с обычными клавишами перемещения, чтобы расширить выбор. Это переведет вас в режим визуального выбора.

Когда у вас выделен какой-либо текст и вы находитесь в режиме визуального выделения, вы можете использовать обычные команды редактирования для изменения выделенного текста, например, c удалит текст и переведет вас в режим вставки, y восстановит текст, gU изменит верхний регистр текста, g? будет ROT13 его и т. Д.

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

0 голосов
/ 31 января 2010

Попробуйте это:

:s//new_value

Почему отрицательный голос? Вы можете сопоставить что-то вроде:

:nmap \s :s///<cr>``i

, затем найдите свой текст, нажмите на отображение, и вы окажетесь в режиме вставки, где раньше был текст для поиска. Вы не можете использовать ., но вы можете просто использовать n\s для следующего матча.

Насколько мне известно, нет встроенного текстового объекта, описывающего текст, найденный поиском.

...