Вот (часть) таблица, которую я использую в некоторой документации:
+---------------+------------------------+---------------------------------------+
| TASK NAME | WHEN | DESCRIPTION |
+---------------+------------------------+---------------------------------------+
| db:seed | On every update | Data required for the application to |
| | | run; you should always be able to |
| | | safely execute this multiple times |
| | | for an update. |
| db:truncate | Manually (dangerous!) | TRUNCATE all tables but postal_codes |
| postal_codes | Once | Load the postal_codes table |
+---------------+------------------------+---------------------------------------+
Проблема в том, что это очень неудобно для редактирования; если я изменю одну вещь, мне нужно (вручную) перестроить все, что является PITA
Есть ли более простые способы справиться с этим? Меня не интересует точный макет как таковой, но я хотел бы сохранить перенос 3-го столбца ...
wrapping
word-processing
alignment
ascii-art
Мартин Турной
источник
источник
list-table
(недавно я преобразовал много таблиц в это, потому что таблицы ascii трудно поддерживать и плохоОтветы:
Я являюсь автором плагина vim-table-mode . Я потратил довольно много времени на создание и улучшение этого, особенно с обратной связью сообщества, и это точно соответствует этому варианту использования.
Короткий быстрый старт: вы входите в «табличный режим» с помощью
:TableModeEnable
команды, затем вы можете просто набрать:А vim-table-mode автоматически позаботится о выравнивании для вас на лету, так что он будет выглядеть так:
При последующем редактировании таблицы vim-table-mode также позаботится о выравнивании за вас.
Вы можете выйти из «режима таблицы» с помощью
:TableModeDisable
.Его суть в том, чтобы легко создавать таблицы, которые будут автоматически форматироваться при вводе. Он предлагает множество отображений для перемещения и манипулирования таблицами (особенно полезно
<Leader>tdc
удалить весь столбец). Все, что вам нужно сделать, это включить табличный режим, и он включится, и вы можете просто печатать, не беспокоясь о форматировании.У него гораздо больше возможностей, чем показано здесь, например, возможность выравнивания столбцов по правому краю с небольшим указанием на заголовок. У этого также есть аккуратный механизм формул электронной таблицы, который позволяет определять формулы и выполнять вычисления как обычная электронная таблица.
Он создан, чтобы быть чрезвычайно гибким и настраиваемым, поэтому вы можете изменять несколько аспектов создаваемых таблиц и границ.
Я также создал несколько скринкастов, пытаясь продемонстрировать его силу. Этот скринкаст самый последний , но обратите внимание, что с тех пор было много улучшений.
источник
Если вы можете использовать
sed
иcolumn
, решение командной строки, которое будет близко, будет:Вы можете комбинировать это с визуальным выбором
'<,'>
или с номерами строк.Минусы:
sed
иcolumn
. Вим случайно. Этиsed
команды , вероятно , могут быть изменены на VIM:substitute
команд, ноcolumn
имеют решающее значение.---...-
) дополняются, но у меня есть подозрения на его надежность.$'\x01'
.Источники:
column -t
вместо этого сохраняет разделители в выводеисточник
Если вы не хотите устанавливать какие-либо плагины и хотите редактировать таблицы, сохраняя выравнивание:
- использовать встроенный режим VREPLACE , активированный с помощью
gR
.(Убедитесь, что у вас установлена последняя версия vim, и проверьте, скомпилирована ли она с
+vreplace
функцией, набравvim --version
на терминале)(моя строка состояния настроена так, чтобы показывать ЗАМЕНА для режимов ЗАМЕНА и ВИДА)
Если вы хотите узнать больше о режимах REPLACE и VREPLACE , проверьте эту статью .
источник
Я создал инструмент командной строки tablign для этой цели; это работает изнутри vim. Просто установите с
отметить таблицу в vim и вызвать
(vim заполняет первые несколько символов для вас, если вы пометили таблицу.)
Это не может сделать фиксированную ширину столбца, но это может быть добавлено, если возникнет такая необходимость.
источник