Wie verwende ich vim im Terminal?


75

Wie kann man vim im Terminal unter OS X einrichten und verwenden?

Ich möchte meinen C-Code mit vim im Terminal und nicht mit einem separaten Texteditor schreiben. Wie fängt man damit an?

Die Grundlagen wie: Öffnen, Erstellen, Speichern von Dateien über das Terminal mit vim und Schreiben von Code mit vim. Kompiliert man auch direkt mit vim im Terminal?


Ich bezweifle, dass Sie mit vim kompilieren können. Vim ist ein Editor, kein Compiler.
Neebz

2
Aber er kann immer noch einen Aufruf externen Compiler von vim, so etwas wie :!gcc -o main main.c, jedenfalls ist es wichtig , die Tatsache , dass er braucht einen externen Compiler , weil Vim nur ein Texteditor ist.
pconcepcion

1
Hier ist ein großartiges narratives Tutorial vi-improved.org/tutorial.html
ATSiem

Sie können auch mit dem integrierten Terminal von Vim kompilieren (neueste Funktion in Version 8.1)
Mahemoff,

Antworten:


74

Laufen Sie vimvom Terminal aus. Für die Grundlagen wird empfohlen, den Befehl auszuführen vimtutor.

# On your terminal command line:
$ vim

Wenn Sie eine bestimmte Datei bearbeiten müssen, übergeben Sie sie als Argument.

$ vim yourfile.cpp

Starten Sie ebenfalls das Tutorial

$ vimtutor

Okay, aber wo sind dann alle Funktionen?
Eaton Emmerich

@EatonEmmerich ummm welche Funktionen fehlen dir neben einer GUI-Symbolleiste?
Michael Berkowski

Beispiel: Ausführen :terminal. Die OS X-Version weist einen ziemlichen Mangel an Funktionen auf.
Eaton Emmerich

Darum geht es in dieser Frage nicht. Hier geht es darum, Vim in einem Terminal (wie es entworfen wurde) auszuführen, anstatt gvim mit einem Desktop-GUI-Umgebungsfenster auszuführen.
Michael Berkowski

@EatonEmmerich Ohhh du redest :terminal, ein Feature von neovim . Das ist nicht in Basic Vim, das Gegenstand dieser Frage war.
Michael Berkowski

150

Fangen Sie schnell an

Sie geben einfach vimdas Terminal ein, um es zu öffnen und eine neue Datei zu starten.

Sie können optional einen Dateinamen übergeben, der diese Datei öffnet, z vim main.c. Sie können mehrere Dateien öffnen, indem Sie mehrere Dateiargumente übergeben.

Vim hat verschiedene Modi, im Gegensatz zu den meisten Editoren, die Sie wahrscheinlich verwendet haben. Sie beginnen im NORMALModus, in dem Sie die meiste Zeit verbringen, sobald Sie sich mit vim vertraut gemacht haben.

Zur Rückkehr zum NORMALModus nach in einem anderen Modus, drücken Sie ändern Esc. Es ist eine gute Idee, die Feststelltaste Esc zuzuordnen, da sie näher liegt und niemand die Feststelltaste wirklich verwendet.

Der erste zu versuchende INSERTModus ist der Modus, der mit a zum Anhängen nach dem Cursor oder izum Einfügen vor dem Cursor aufgerufen wird .

VISUALVerwenden Sie zum Aufrufen des Modus, in dem Sie Text auswählen können, die Option v. Es gibt viele andere Varianten dieses Modus, die Sie entdecken werden, wenn Sie mehr über vim erfahren.

Stellen Sie zum Speichern Ihrer Datei sicher, dass Sie sich im NORMALModus befinden, und geben Sie den Befehl ein :w. Wenn Sie drücken :, wird Ihr Befehl in der unteren Statusleiste angezeigt. Verwenden Sie zum Speichern und Beenden :x. Verwenden Sie zum Beenden ohne Speichern :q. Wenn Sie eine Änderung vorgenommen haben, die Sie verwerfen möchten, verwenden Sie :q!.

Konfigurieren Sie vim nach Ihren Wünschen

Sie können Ihre ~/.vimrcDatei bearbeiten , um vim nach Ihren Wünschen zu konfigurieren. Am besten schauen Sie sich zuerst einige an ( hier ist meine ) und entscheiden dann, welche Optionen zu Ihrem Stil passen.

So sieht meins aus:

vim Screenshot

Verwenden Sie NERDTree, um den Datei-Explorer auf der linken Seite aufzurufen . Verwenden Sie für die Statusleiste vim-Airlines . Schließlich wird das Farbschema solarisiert .

Weiteres Lernen

Sie können man vimHilfe im Terminal verwenden. Alternativ können Sie auch laufen, vimtutorwas ein guter Ausgangspunkt zum Anfassen ist.

Es ist eine gute Idee, ein Vim-Spickzettel auszudrucken und es vor sich zu haben, während Sie Vim lernen.

Viel Glück!


Cheatsheet Link ist ausgefallen.
Rahul Thakur

1
Es gibt auch dieses sehr gute Cheatsheet.
Lieuwe Rooijakkers

@LieuweRooijakkers Prost, ich werde meinen Link zu diesem aktualisieren.
Alex

4

Sie können Ihren Code definitiv aus Vim erstellen, genau das macht der :makeBefehl.

Sie müssen jedoch zuerst die Grundlagen durchgehen: Geben Sie vimtutorIhr Terminal ein und folgen Sie den Anweisungen bis zum Ende.

Nachdem Sie es einige Male abgeschlossen haben, öffnen Sie eine vorhandene (nicht wichtige) Textdatei und probieren Sie alle Dinge aus, die Sie gelernt haben vimtutor: Aufrufen / Verlassen des Einfügemodus, Rückgängigmachen von Änderungen, Beenden / Speichern, Ziehen / Setzen, Verschieben usw. .

Für eine Weile werden Sie mit Vim überhaupt nicht produktiv sein und wahrscheinlich versucht sein, zu Ihrer vorherigen IDE / Ihrem vorherigen Editor zurückzukehren. Mach das, aber halte dich jeden Tag ein bisschen mit Vim auf dem Laufenden. Sie werden wahrscheinlich von sehr seltsamen und unerwarteten Dingen aufgehalten, aber es wird immer weniger passieren.

In wenigen Monaten finden Sie sich treffen o, vund idie ganze Zeit in jedem Textfeld überall.

Habe Spaß!


3

Wenn Sie alle Ihre .cppDateien mit einem Befehl öffnen und das Fenster in so viele Kacheln wie geöffnete Dateien aufteilen möchten , können Sie Folgendes verwenden:

vim -o $(find name ".cpp")

Wenn Sie an Ihrer Stelle eine Vorlage einfügen möchten, können Sie Folgendes verwenden:

:r ~/myHeaderTemplate 

importiert die Datei "myHeaderTemplate" an die Stelle, an der sich der Cursor vor dem Starten des Befehls befand.

Sie können umgekehrt visuell Code auswählen und in einer Datei speichern

  1. visuell auswählen,
  2. füge w ~ / myPartialfile.txt hinzu

Wenn Sie nach Eingabe von ":" die Option "visuell" auswählen, um einen Befehl einzugeben, wird "'<,'>" nach dem ":" angezeigt.

'<,'>w ~/myfile $

^ Wenn Sie dem Befehl "~ / myfile" hinzufügen, wird der ausgewählte Teil der Datei in myfile gespeichert.

Wenn Sie eine Datei bearbeiten und kopieren möchten:

:saveas newFileWithNewName 
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.