Frage

Ich bin verdorben etwas Eclipse und Java verwenden. Ich begann mit vim C-Codierung in einer Linux-Umgebung zu tun, ist es eine Möglichkeit, Vim automatisch den richtigen Abstand für die Blöcke zu tun?

So nach der Eingabe eine {die nächste Zeile wird zwei Räume in eingekerbt hat, und eine Rückkehr auf dieser Linie wird es in der gleichen Vertiefung halten und a} verschiebt 2 Felder zurück?

War es hilfreich?

Lösung

Diese beiden Befehle sollte es tun:

:set autoindent
:set cindent

Für Bonuspunkte setzen Sie sie in einer Datei .vimrc in Ihrem Home-Verzeichnis auf Linux befindet sich dem Namen

Andere Tipps

schrieb alles über Registerkarten in Vim , die ein paar interessante Dinge gibt Ihnen nicht zustande fragen . Zur automatischen Einzug Klammern, verwenden Sie:

:set cindent

zwei Leerzeichen einzurücken (statt einer Registerkarte von acht Räume, die vim Standard):

:set shiftwidth=2

Damit vim aus der Umwandlung acht Leerzeichen in Tabulatoren:

:set expandtab

Wenn Sie jemals den Einzug eines Textblock ändern möchten, verwenden Sie . Ich dies in der Regel in Verbindung mit Block-Auswahlmodus (v, wählen Sie einen Textblock, ).

(Ich würde versuchen, Sie zu sprechen aus der Verwendung von zwei Raum Einzug, da ich (und die meisten anderen Menschen) finden es schwer zu lesen, aber das ist eine andere Diskussion.)

Viele vim-Funktionen (wie autoindent und cindent) sind standardmäßig deaktiviert. Um zu sehen, wirklich was vim für Sie tun können, benötigen Sie eine anständige ~/.vimrc.

Ein guter Starter ist in $VIMRUNTIME/vimrc_example.vim. Wenn Sie es ausprobieren möchten, verwenden Sie

:source $VIMRUNTIME/vimrc_example.vim

, wenn in vim.

ich eigentlich würde vorschlagen, Kopieren Sie einfach den Inhalt auf Ihre ~/.vimrc wie es gut kommentiert ist, und ein guter Ort, um zu lernen, wie vim zu verwenden. Sie können dies tun, indem

:e $VIMRUNTIME/vimrc_example.vim
:w! ~/.vimrc

Dies wird Ihren aktuellen ~/.vimrc überschreiben, aber wenn alles, was Sie da drin sind die Einzugseinstellungen Davr vorgeschlagen, würde ich es nicht schwitzen, wie das Beispiel vimrc kümmern, dass auch für Sie braucht. Für eine Komplettlösung des Beispiels, und was es für Sie tut, siehe :help vimrc-intro.

Einfach laufen:

user@host:~ $ echo set autoindent >> .vimrc

Ich denke, die beste Antwort tatsächlich auf dem vim wikia erklärt:

http://vim.wikia.com/wiki/Indenting_source_code

Beachten Sie, dass es darauf hin, gegen die Verwendung von „set autoindent.“ Die beste Eigenschaft alles, was ich in dieser Erklärung finden ist in der Lage, Einstellungen per-Datei zu setzen, was besonders nützlich ist, wenn Sie in Python und C ++ programmieren, zum Beispiel, wie Sie 4 Räume für Registerkarten in den ehemaligen wollen würden und 2 für Räume im letzteren.

und immer daran denken, diese ehrwürdige Erklärung von Spaces + Tabs:

http://www.jwz.org/doc/tabs-vs -spaces.html

Versuchen:

set sw = 2

gesetzt ts = 2

set smartindent

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top