Hier ist ein Teil einer Tabelle, die ich in einigen Dokumentationen verwende:
+---------------+------------------------+---------------------------------------+
| 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 |
+---------------+------------------------+---------------------------------------+
Das Problem ist, dass die Bearbeitung sehr umständlich ist. Wenn ich eine Sache ändere, muss ich alles (manuell) neu ausrichten, was ein PITA ist
Gibt es einfachere Möglichkeiten, dies zu handhaben? Das obige Layout ist mir als solches egal, aber ich möchte den Zeilenumbruch der 3. Spalte beibehalten ...
wrapping
word-processing
alignment
ascii-art
Martin Tournoij
quelle
quelle
list-table
(vor kurzem habe ich viele Tabellen in diese konvertiert, weil ASCII-Tabellen schwer zu pflegen und diff schlecht sind)Antworten:
Ich bin der Autor des Plugins vim-table-mode . Ich habe ziemlich viel Zeit damit verbracht, dies aufzubauen und zu verbessern, insbesondere mit Community-Feedback, und es ist genau auf diesen Anwendungsfall zugeschnitten.
Ein kurzer Schnelleinstieg: Sie rufen mit dem
:TableModeEnable
Befehl den Tabellenmodus auf und können dann einfach Folgendes eingeben :Und der vim-table-mode kümmert sich automatisch um die Ausrichtung für Sie, so dass es so aussieht:
Wenn Sie die Tabelle später bearbeiten, übernimmt der vim-table-mode auch die Ausrichtung für Sie.
Sie können den 'Tabellenmodus' mit verlassen
:TableModeDisable
.Im Mittelpunkt steht die einfache Erstellung von Tabellen, die während der Eingabe automatisch formatiert werden. Es bietet eine Vielzahl von Zuordnungen, um Tabellen zu verschieben und zu bearbeiten (besonders nützlich ist
<Leader>tdc
das Entfernen einer ganzen Spalte). Alles, was Sie tun müssen, ist, den Tabellenmodus zu aktivieren. Diese werden aktiviert, und Sie können einfach wegschreiben, ohne sich um die Formatierung kümmern zu müssen.Es verfügt über viel mehr Funktionen als hier angezeigt, z. B. die Möglichkeit, Spalten mit einem kleinen Hinweis auf die Überschrift nach rechts auszurichten. Es hat auch eine ordentliche Tabellenkalkulations-Formel-Engine, mit der man Formeln definieren und Berechnungen durchführen kann, wie es eine normale Tabellenkalkulation tun würde.
Es ist äußerst flexibel und konfigurierbar, sodass Sie verschiedene Aspekte der erstellten Tabellen und Rahmen ändern können.
Ich habe auch einige Screencasts erstellt, um seine Stärken zu demonstrieren. Dieser Screencast ist der neueste , aber bitte beachten Sie, dass es seitdem viele Verbesserungen gegeben hat.
quelle
Wenn Sie
sed
und verwenden könnencolumn
, wäre eine nahe beieinander liegende Befehlszeilenlösung:Sie können dies mit einer visuellen Auswahl und /
'<,'>
oder mit Zeilennummern kombinieren .Nachteile:
sed
undcolumn
. Vim ist nebensächlich. Diesed
Befehle können wahrscheinlich in vim-:substitute
Befehle geändert werden, sind jedoch voncolumn
entscheidender Bedeutung.---...-
) werden aufgefüllt, aber ich habe Zweifel an der Zuverlässigkeit.$'\x01'
ist.Quellen:
column -t
hält stattdessen die Trennzeichen in der Ausgabequelle
Wenn Sie keine Plugins installieren und Tabellen bearbeiten möchten, die die Ausrichtung beibehalten:
- Verwenden Sie den eingebauten VREPLACE- Modus, der durch aktiviert wird
gR
.(Stellen Sie sicher, dass Sie über die neueste Version von vim
+vreplace
verfügen, und überprüfen Sie, ob diese mit der Funktion kompiliert wurde. Geben Sie diesvim --version
auf dem Terminal ein.)(In meiner Statuszeile wird REPLACE für den REPLACE- und den VREPLACE-Modus angezeigt.)
Wenn Sie mehr über die Modi REPLACE und VREPLACE erfahren möchten, lesen Sie diesen Artikel .
quelle
Zu diesem Zweck habe ich das Tablign des Befehlszeilentools erstellt . es funktioniert auch von vim aus. Einfach mit installieren
markiere den tisch in vim und rufe an
(vim füllt die ersten Zeichen für Sie aus, wenn Sie die Tabelle markiert haben.)
Feste Spaltenbreiten sind noch nicht möglich, können jedoch bei Bedarf hinzugefügt werden.
quelle