Каков наилучший способ перестановки столбцов в текстовом файле с разделителями табуляции в vim? - PullRequest
4 голосов
/ 25 июня 2010

Я уже знаю, как это сделать с

:%s/\(\S\+\)^I\(\S\+\)/\2^I\1/

, но я чувствую, что набираю много вещей.Есть ли более чистый и быстрый способ сделать это?

Ответы [ 2 ]

5 голосов
/ 25 июня 2010

Если столбцы выстроены в ряд, вы можете использовать режим визуального блока, нажав Ctrl + V, а затем вырезать и вставить. Если столбцы не выстроены в ряд, сначала увеличьте ширину вкладки, чтобы она была больше, чем содержимое рассматриваемых столбцов.

4 голосов
/ 26 июня 2010

Лучший способ сделать это в VIM - не делать это с VIM и (повторно) использовать существующие инструменты для работы.* Решение, специфичное для NIX:

:%!awk -F \\t '{print $2 FS $1}'

Передает содержимое файла с разделителями табуляции в awk и печатает первые два столбца, замененных разделителем полей (FS).awk также можно найти для Windows.

PS Изначально я хотел написать то же самое с cut, но по какой-то причине в моей системе cut -f 2,1 (-d не требуется, так как TAB используется по умолчаниюразделитель) печатал поля в том же порядке, не меняя местами: |

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