2017-01-17 18 views
0

У меня есть текстовый файл:vim: как заменить текст в режиме визуального выбора?

hello world ssh! 
this is your destiny 
Oh my goodness 

В визуальном режиме, я выбираю из «мира» на «мой»: Я хотел бы изменить букву «s» в «к» в моем выборе.

I определение не может использовать линейный режим, потому что таким образом изменится «доброта» третьей строки.

Как сделать эту замену в визуальном режиме?

ответ

7

Чтобы добиться того же в нормальном режиме (после того, как вы сделали выбор и бежал от него) , использовать \%V атом вместе с модификатором в диапазоне % вместе в запросе на замену

:%s/\%Vs/k/g 

:s/foo/bar - заменитель запрос
% - гарантирует, что оно применяется ко всем строкам в файле
\%V - ограничивает диапазон до последнего визуального выбора режима (т.е. тот, который вы получаете с gv)
g - глобальный флаг, который гарантирует, что все случаи будут затронуты (instea первого по одному в каждой строке, которая является поведение по умолчанию)

Больше на http://vim.wikia.com/wiki/Search_and_replace_in_a_visual_selection

+0

'%' убедитесь, что оно применимо ко всем линиям последнего визуального выбора. –

+0

Вы имеете в виду '%' как в '% s' или' \% V'? – krzemian

+0

Первый, обозначающий диапазон. –

4

Вы можете использовать \%V, чтобы ограничить поиск визуального выбора:

:'<,'>s/\%Vs/k/g 

См :help \%V

+0

'» <,'> 'бесполезно при использовании' \% V' –

+2

''<,'>' автоматически добавляется Vim, поэтому лучше всего показать его в примере. – romainl

+0

Другими словами, команда не ограничивается визуальным режимом. –

 Смежные вопросы

  • Нет связанных вопросов^_^