Oto (część) tabela, której używam w niektórych dokumentacjach:
+---------------+------------------------+---------------------------------------+
| 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 |
+---------------+------------------------+---------------------------------------+
Problem polega na tym, że edytowanie jest bardzo niewygodne; jeśli zmienię jedną rzecz, muszę (ręcznie) ponownie wyrównać wszystko, co jest PITA
Czy są na to łatwiejsze sposoby? Nie dbam o dokładny powyższy układ jako taki, ale chciałbym zachować zawijanie trzeciej kolumny ...
wrapping
word-processing
alignment
ascii-art
Martin Tournoij
źródło
źródło
list-table
(ostatnio przekonwertowałem na to wiele tabel, ponieważ tabele ascii są trudne w utrzymaniu i słabo sięOdpowiedzi:
Jestem autorem wtyczki vim-table-mode . Spędziłem sporo czasu na budowaniu i ulepszaniu tego, szczególnie z opiniami społeczności i dotyczy to dokładnie tego przypadku użycia.
Krótki szybki start: wchodzisz w „tryb tabeli” za pomocą
:TableModeEnable
polecenia, a następnie możesz po prostu wpisać:Tryb vim-table automatycznie zadba o wyrównanie w locie, dzięki czemu będzie wyglądać jak:
Podczas późniejszej edycji tabeli tryb vim-table zajmie się również wyrównaniem.
Możesz wyjść z „trybu tabeli” za pomocą
:TableModeDisable
.Jego trzon polega na łatwym tworzeniu tabel, które będą automatycznie formatowane podczas pisania. Oferuje wiele mapowań do poruszania się i manipulowania tabelami (szczególnie przydatne jest
<Leader>tdc
usunięcie całej kolumny). Wszystko, co musisz zrobić, to włączyć tryb tabeli, a one się uruchomią i możesz po prostu pisać bez obawy o formatowanie.Ma o wiele więcej funkcji niż pokazano tutaj, takich jak możliwość wyrównywania kolumn z małą wskazówką na nagłówku. Ma także zgrabny silnik formuł arkusza kalkulacyjnego, który pozwala definiować formuły i wykonywać obliczenia jak zwykły arkusz kalkulacyjny.
Jest zbudowany tak, aby był wyjątkowo elastyczny i konfigurowalny, dzięki czemu możesz zmieniać kilka aspektów tworzonych tabel i ramek.
Stworzyłem też kilka screencastów, próbując pokazać jego moce. Ten screencast jest najnowszy , ale od tego czasu wprowadzono wiele ulepszeń.
źródło
Jeśli możesz użyć
sed
icolumn
, rozwiązaniem wiersza polecenia, które się zbliży, byłoby:Możesz to połączyć z selekcją wizualną
'<,'>
lub z numerami linii.Cons:
sed
icolumn
. Vim jest przypadkowy. Tesed
polecenia można prawdopodobnie zmieniony na vim:substitute
poleceń, alecolumn
ma zasadnicze znaczenie.---...-
) są wypełnione, ale mam podejrzenia co do ich niezawodności.$'\x01'
jest.Źródła:
column -t
zamiast tego utrzymuje separatory na wyjściuźródło
Jeśli nie chcesz instalować żadnych wtyczek i chcesz edytować tabele zachowując wyrównanie:
- użyj wbudowanego trybu VREPLACE , aktywowanego przez
gR
.(Upewnij się, że masz najnowszą wersję vima i sprawdź, czy jest ona skompilowana z
+vreplace
funkcją, piszącvim --version
na terminalu)(moja linia statusu jest ustawiona tak, aby wyświetlać WYMIANA zarówno dla trybów WYMIANA, jak i VREPLACE)
Jeśli chcesz dowiedzieć się więcej o trybach REPLACE i VREPLACE , zapoznaj się z tym artykułem .
źródło
W tym celu stworzyłem tablign narzędzia wiersza poleceń ; działa również z poziomu vima. Po prostu zainstaluj za pomocą
zaznacz tabelę w vimie i zadzwoń
(vim wypełnia kilka pierwszych znaków, jeśli zaznaczyłeś tabelę).
Nie można jeszcze ustalić stałych szerokości kolumn, ale można je dodać, jeśli zajdzie taka potrzeba.
źródło