заменить ":" на вкладку, чтобы сделать столбцы - PullRequest
4 голосов
/ 31 января 2011

У меня есть списки слов, в которых слово или выражение на испанском языке отделяется переводом с двоеточием (":").Я хочу сделать две колонки, одна для испанского, другая для английского.Я пытался с

:%s/:/^I^I^I/g

Но это не дает желаемого выхода.Различные столбцы не выровнены.Тем не менее, при удалении двоеточия вручную и вставке количества вкладок с одинаковым количеством штрихов, оно всегда заканчивается выравниванием ...

Есть идеи, как это решить, желательно в vim?

Ответы [ 5 ]

4 голосов
/ 01 февраля 2011

В системе Linux / * nix я использую столбец (1)

:%!column -s':' -t 

с последующим

:%retab!
2 голосов
/ 31 января 2011

Я бы сделал

:s/:/^I/g

с последующим

:set ts=25

Где 25 - длина самого длинного ожидаемого слова + 2. Итак, если вы ожидаете, что самое длинное слово вашего ввода (слева от двоеточия) будет 12 символов, я бы вместо этого выбрал что-то около 14.

1 голос
/ 01 февраля 2011

Посмотрите на плагин Align для vim.

http://www.vim.org/scripts/script.php?script_id=294

0 голосов
/ 01 февраля 2011

С Tabular.vim это довольно просто, просто наберите :Tab /:\zs, а все остальное.

0 голосов
/ 31 января 2011

Когда в режиме вставки ваша настройка делает вкладку, чтобы достичь столбца n th . Это устанавливается с настройками 'softtabstop', если я прав.

Для этих задач вы можете использовать плагин, такой как Align.vim или Tabularize.

Другой вариант - вставить огромное количество пробелов, а затем использовать Visual Block с оператором < столько раз, сколько необходимо, если вам придется сделать это один раз. В противном случае предпочтите методы многократного использования.

...