Ich schreibe HTML-Listen und möchte in der Lage sein, 10 Listenelemente automatisch einzufügen, wobei sich nur der Elementtext ändert.
Ich könnte dies mit PHP erreichen und dann nur den gerenderten HTML-Code kopieren, aber wenn es eine Möglichkeit gibt, diesen Schritt zu überspringen und direkt von Vim aus auszuführen, würde ich so viel Zeit sparen.
cut-copy-paste
replace
filetype-html
Azmodeus
quelle
quelle
Antworten:
Für das, was Sie tun möchten, ist emmet-vim , wie nobe4 vorgeschlagen hat, die beste Wahl.
li{item $}*10<c-y>,
Erweitert im Einfügemodus 10<li>
s mititem N
vorgefülltem Text. Sie beginnen mit der Bearbeitung des Inhalts des ersten. Wenn Sie sich noch im Einfügemodus befinden, wird durch Drücken<c-y>n
zum nächsten Tag zum Bearbeiten gewechselt.Wenn es sich bei Ihren Listenelementen nicht um einen sequenzwiederholten Text handelt, können Sie vim-Surround als Hilfe verwenden.
Beispielliste mit Text, der umbrochen werden muss:
Wenn Sie mit dem Cursor irgendwo im Text beginnen,
^vip$<c-v>Stli<cr>
wird jede Zeile durch Drücken von umbrochen<li></li>
.Dies kann zu einer benutzerfreundlichen Key Map gemacht werden:
quelle
.col$*5>.inner
Ich würde dies wahrscheinlich mit einem Mapping tun:
Es ist geplant, Tags einzufügen und die Einfügung dazwischen zu platzieren, damit Sie den Text eingeben, in den normalen Modus zurückkehren und dann erneut Strg-B drücken können. (PS, ^ B und ^ [werden mit ctrl_V eingegeben, aber das wussten Sie wahrscheinlich schon.) Um zehn Zeilen in einem einzigen Befehl einzufügen, können Sie verwenden
Mir war nicht klar, ob Sie eine automatische Art haben, den Elementtext tatsächlich zu erstellen.
quelle