Vim: макрос для вставки столбца в текущей позиции курсора - PullRequest
1 голос
/ 26 мая 2019

У меня есть множество файлов, которые я хотел бы преобразовать в формат переменной CSV.

Например:

      DATE     V1  COLOR SNOW FALL TEMPERATURE
2019-01-03 3.1415    red     33 mm          -2
2019-01-04 2.7182 orange     35 mm          -3
2019-01-05 1.6180 yellow     44 mm           2
2019-01-06 4.6692  green    120 mm           1
2019-01-07 1.4142   blue     51 mm         -10

станет:

      DATE,     V1,  COLOR, SNOW FALL, TEMPERATURE
2019-01-03, 3.1415,    red,     33 mm,          -2
2019-01-04, 2.7182, orange,     35 mm,          -3
2019-01-05, 1.6180, yellow,     44 mm,           2
2019-01-06, 4.6692,  green,    120 mm,           1
2019-01-07, 1.4142,   blue,     51 mm,         -10

Я могу сделать это вручную в командном режиме vim со следующим:

:%s/\%[column number]c/,/

Где "[номер столбца]" в моем примере было бы 11 для вставки "," после "E" в "ДАТА" во всех строках файла.

Я хотел бы использовать макрос (предпочтительно в моем «.vimrc»), чтобы я мог просто поместить курсор в определенный столбец и выполнить макрос, а не входить в командный режим. У меня проблемы с просмотром, как получить текущее значение столбца курсора.

1 Ответ

0 голосов
/ 26 мая 2019

Итак, насколько я понимаю, вы хотите что-то вроде этого:

nnoremap <silent><F12> :execute '%s/\%' . col('.') . 'c/,/'<CR>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...