Добавить строки в визуальный выбор через Ex-Mode - PullRequest
5 голосов
/ 02 апреля 2012

Можно ли добавить определенные строки к визуальному выделению с помощью команды режима EX?

У меня есть текст в следующей форме:

+----------+-----------+
| Some text| other text|
+----------+-----------+
| More text||
| And even more ||
| - ...||
+----------+-----------+

И я хочу, чтобы текстбудет отображаться так:

+---------------+------------+
| Some text     | other text |
+---------------+------------+
| More text     |            |
| And even more |            |
| - ...         |            |
+---------------+------------+

Использование табличного плагина, когда я удаляю строки с + через следующий рабочий процесс:

g!/+/d
// Visually select the remaining lines
Tab /|
// Manually insert the +----+----+ lines

Мне было интересно, есть ли способ сохранитьразделительные линии и визуально выберите строки, не содержащие + через EX-Mode, такие как :g!/+/ add-line-to-visual-selection.

1 Ответ

3 голосов
/ 02 апреля 2012

Вы можете использовать:

:Tab /|\|+/l1
:<range>g/+/s/ /-/g

Вы можете найти справку для \| в :help /\| или более глобально :help pattern, это стандартный способ выражения чередования в регулярных выражениях Vim. Таким образом, /|\|+/ - это шаблон с разделителями, который соответствует либо |, либо +. (Чтение всего :help pattern имеет отличную отдачу от инвестиций, к вашему сведению).

Что касается /l1 в плагине Tabular, вы можете более подробно прочитать справку о плагине, он добавит пробел после разделителя и выравнивает текст по левому краю.

...