So fügen Sie eine neue Zeile mit demselben Einzug hinzu


33

Dann drücke ich Enterim Einfügemodus, eine neue Zeile wird erstellt, aber der Cursor steht am Anfang der Zeile.

Wie erstelle ich eine neue Zeile mit demselben Einzug wie die aktuelle?


2
und so führt mich google hierher.
Am

Antworten:


38

Das Hinzufügen set autoindent zu Ihrem ~ / .vimrc kann das für Sie automatisch tun.


Vielen Dank! Es gab keine .vimrc, ist es in Ordnung, eine neue zu erstellen?
Valya

Ja, in Ihrem Home-Verzeichnis.
John T

7

Ich würde auch vorschlagen, dies zu Ihrer .vimrc hinzuzufügen:

set smartindent

Der Einzug in einen neuen Block wird vergrößert.


5

Beides wird Sie beim Einfügen stören, da Vim versucht, alles spontan einzurücken.

Vor dem Einfügen geben Sie ein:

:set paste

Dies gilt im Terminal. Wenn Sie gvim verwenden, sollten Sie dies nicht benötigen.
Nathan Fellman

In komplexen Situationen (virtuelle Maschinen, Remote-Desktops, ...) haben Sie sogar gvimkeinen Zugriff auf die Zwischenablage. Auf der anderen Seite hat die vimlokale Ausführung Zugriff auf die Zwischenablage und vimkann ordnungsgemäß eingefügt werden, wenn Sie "*poder verwenden "+p. Manchmal ist vimund :set pasteund 'dummes' Einfügen von Rohdaten auf das Terminal die einzige Option.
Aaron McDaid

0

Am Ende der Datei verwende ich:

# vim: ts=2 sw=2 sts=2 sr noet st ai si

Zum Beispiel Dockerfile:

FROM centos-7
RUN ...
CMD ...

# vim: ts=2 sw=2 sts=2 sr noet st ai si

Wenn Sie nur den Einzug behalten möchten, verwenden Sie # vim: st ai si

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.