Передача прямоугольной области текста из vim во внешнюю программу? - PullRequest
7 голосов
/ 14 октября 2010

Я редактирую большой текстовый массив в vim и хочу вычислить его в одном подколонке.

Упрощенный пример отредактированного файла:

name value name   saturation 
red  5     green  2
blue 7     yellow 7 
other text

Я хочуПередача столбца 4 через внешнюю программу calc.pl, calc.pl заменяет числа новыми входными числами, например:

 name value name   saturation
 red  5     green  2.4
 blue 7     yellow 7.14
 other text

Когда я выбираю прямоугольник в столбце 4, используя v.motion и!perl calc.pl целые строки передаются по конвейеру в calc.pl, а не только в прямоугольник.

Обходной путь будет заключаться в следующем: обрезать прямоугольник до временного файла, запустить calc.pl во временном файле и затем прочитать выводкак прямоугольник.

Есть ли прямое решение в vim, без необходимости вырезать / shell / paste?

1 Ответ

3 голосов
/ 14 октября 2010

Вы можете попробовать плагин vis от Charles Campbell

Используйте ctrl-v, чтобы выбрать столбец, затем примените внешний фильтр к этому столбцу. ctrl-v ..move.. :B !sort

Другой плагин, который может работать на вас, это NrrwRgn от Кристиана Брабандта.

Использование: NarrowRegion, чтобы сузить выделение на основе линии или, альтернативно, визуально выбрать диапазон и нажать nr

В чистом буфере просто сохраните его, и изменения будут скопированы в исходный файл. Это только очень простая помощь. Возможно, вам следует прочитать справку, которая поставляется с плагином. Смотрите: h NarrowRegion

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...