Как заменить n-й шаблон в редакторе VI

Содержимое файла

This is a demo file ******************* This is the 1st line the the the. This is the 2nd line the the. This is the third line the the. This is the 5th line. This is the 6th line. This is the 7th line. This is the 8th line. This is the 9th line. This is the 10th line.

В третьей строке есть 4 экземпляра the.

Я хочу изменить только 3-е вхождение the к THE.

в ex-режиме, если я наберу

:s/the/THE/g

, он изменит все the на THE, поэтому, как изменить третий « "THE"?

3
задан 27 August 2017 в 09:22

6 ответов

Замените каждое N-е вхождение PATTERN в строке с помощью REPLACE.

:%s/\(.\{-}\zsPATTERN\)\{N}/REPLACE/

Замените N th появление PATTERN в третьей строке только с помощью REPLACE.

[ f2]

В вашей демонстрации givin просто используйте следующую команду.

:3s/\(.\{-}\zsthe\)\{3}/THE/
1
ответ дан 22 May 2018 в 19:02

Замените каждое N-е вхождение PATTERN в строке с помощью REPLACE.

:%s/\(.\{-}\zsPATTERN\)\{N}/REPLACE/

Замените N th появление PATTERN в третьей строке только с помощью REPLACE.

:3s/\(.\{-}\zsPATTERN\)\{N}/REPLACE/

В вашей демонстрации givin просто используйте следующую команду.

:3s/\(.\{-}\zsthe\)\{3}/THE/
1
ответ дан 18 July 2018 в 07:53

Замените каждое N-е вхождение PATTERN в строке с помощью REPLACE.

:%s/\(.\{-}\zsPATTERN\)\{N}/REPLACE/

Замените N th появление PATTERN в третьей строке только с помощью REPLACE.

:3s/\(.\{-}\zsPATTERN\)\{N}/REPLACE/

В вашей демонстрации givin просто используйте следующую команду.

:3s/\(.\{-}\zsthe\)\{3}/THE/
1
ответ дан 24 July 2018 в 18:54

Ну, вы можете выбрать третью строку, используя 3, затем использовать интерактивный режим (gc)

:3s/the/THE/gc

Вы получаете

replace with THE (y/n/a/q/l/^E/^Y)?

нажмите n (нет ) ny (да) q (quit)

2
ответ дан 22 May 2018 в 19:02

Ну, вы можете выбрать третью строку, используя 3, затем использовать интерактивный режим (gc)

:3s/the/THE/gc

Вы получаете

replace with THE (y/n/a/q/l/^E/^Y)?

нажмите n (нет ) ny (да) q (quit)

2
ответ дан 18 July 2018 в 07:53

Ну, вы можете выбрать третью строку, используя 3, затем использовать интерактивный режим (gc)

:3s/the/THE/gc

Вы получаете

replace with THE (y/n/a/q/l/^E/^Y)?

нажмите n (нет ) ny (да) q (quit)

2
ответ дан 24 July 2018 в 18:54

Другие вопросы по тегам:

Похожие вопросы: