Перфоминг Vim на частичную линию
Мы можем выполнить замену vim для набора строк, выбрав их в визуальном режиме и войдя в командный режим. он автоматически заполняет выбранный диапазон
:'<,'>
и мы можем выполнить замену, как:'<,'>s / TestSubstitute // gc
Я хотел бы знать, возможно ли в vim выполнить команду замены на частичной строке, выбранной в визуальном режиме, так что-то вроде
: `<,` `> [сопровождается командой замены]
Как правило, я скопирую набор имен полей, разделенных разделителем "," в vim, и хотел бы рассчитать количество столбцов, которое можно определить по количеству появлений запятых после выбора всех имен полей в визуальном режиме.
выберите fname, lastmodtime, lastaccesstime из fileInfo;
Если я выберу текст от fname до lastaccesstime в визуальном режиме и хотел бы узнать количество запятых в выделенном тексте.
Заранее спасибо,
Нага Киран
1 ответ
Использование \%V
модификатор в шаблонном выражении. Это заставит vim совпадать только в пределах визуального блока, в котором вы находитесь или находились ранее. Используйте модификатор как это:
:s/\%Vpattern/substitution/
В визуальном режиме это будет показано как:
:'<,'>s/\%Vpattern/substitution/