Как изменить порядок фрагментов строки в визуальном блоке в Vim? - PullRequest
0 голосов
/ 12 сентября 2018

Я хотел бы изменить порядок фрагментов строки, выбранных в Visual Block в vim.То есть, начиная с

one   = [33];
two   = [22];
three = [11];

я бы хотел получить

one   = [11];
two   = [22];
three = [33];

, выбрав блок

         33
         22
         11

и изменив порядок строк только в пределахэтот блок.

Можно ли этого достичь?Я попытался использовать !tac, как описано в связанном вопросе , но это перевернуло целые строки, а не только выбранный блок.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Используя плагин vim-exchange , мы можем сделать следующее: Наведите курсор на первое число и введите cxi[ затем 2j.

Я даю это решение на основе плагинов, потому что я думаю, что "vim-exchange" - это более распространенный плагин, особенно после тех очень известных скринкастов vim.

0 голосов
/ 12 сентября 2018

Есть плагин "vis", который пытается сделать именно то, что вы ищете: https://github.com/vim-scripts/vis

После установки вы можете выбрать столбцы в визуальном режиме и выполнить :B sort, чтобы отсортировать только эту область.

Как неприятный побочный эффект, я, кажется, получаю дополнительный интервал вокруг выделения:

one   = [ 11 ];
two   = [ 22 ];
three = [ 33 ];

Это может быть какой-то странностью в моей собственной конфигурации Vim, или это может быть общая проблема. Я бы посоветовал вам попробовать плагин и убедиться в этом.

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