2010-12-09 7 views

Antwort

11

Oder wenn Sie das Systemregister verwenden, können Sie einfügen, ohne in Insert-Modus zu gelangen

"*p 

Dies wird das System der Zwischenablage an der Stelle des Cursors einfügen. Kein Einfügemodus erforderlich.

+1

Dies funktioniert jedoch nicht über SSH (es wird aus der Zwischenablage des Systems, in dem Sie SSHed haben, eingefügt, nicht von Ihrem System). – Kat

0

Strg-V/Apple-V? Stellen Sie sicher, dass Sie sich im Einfügemodus befinden. Vi (i)

+1

Funktioniert nicht immer wegen der automatischen Einrückung (und scheint andere Probleme zu sein - Auto-Zitat oder etwas). Wenn ich im Einfügemodus einen großen Block in meine '.vimrc' einfüge, bekomme ich eine große Menge an Einrückungen und zufälligen Kommentaren. – Kat

0

Sie können Tastenkombinationen im Einfügemodus einfügen oder wenn es sich bei Ihrer Quelle um eine andere Datei handelt, können Sie Folgendes eingeben: r und sie wird beim aktuellen Einfügen eingefügt Position Ihres Cursors.

1

Wenn Sie gvim verwenden, drücken Sie STRG-R und dann entweder * oder + im Einfügemodus. Es wird zuletzt kopierter Text eingefügt.

11

Eine Sache zu beachten, manchmal Vim Auto-Einzüge Text. Das ist meistens in Ordnung, aber manchmal wird Text, den Sie in ein Dokument einfügen, durcheinander gebracht.

Wenn Ihre Einbuchtungen fehlerhaft sind, entfernen Sie den eingefügten Text, geben Sie :set paste ein, fügen Sie den Text erneut ein, und geben Sie :set nopaste ein.

0

Der einfachste Weg zu * nix ist es, ihn mit der Maus auszuwählen und mit einem mittleren Klick in vim einzufügen, nachdem vi im Insert-Modus gesetzt wurde.

Mittel Klick könnte eine sowohl links-rechts-Taste, wenn Sie einen Touchpad verwenden

0

Der schnellste Weg, um es einzufügen ist verwenden Sie die Einfügen-Taste Ihr System Nutzungen (zB ⌘-v für macs, Strg-V für Windows, etc.) im Einfügemodus. Bei einigen Terminals müssen Sie Shift-Ctrl-V verwenden. Sie können jedoch in die Befehlszeile einfügen, wie Sie in vim einfügen sollten. Dies kann jedoch einige Probleme mit dem Einzug verursachen, wo :set paste ins Spiel kommt. Der schnellste Weg, um dies zu erreichen, ist das Setzen eines "pastetoggle" (siehe :help pastetoggle). Zum Beispiel verwende ich

set pastetoggle=<leader>p 

Der Grund eine pastetoggle anstelle einer Zuordnung, da ist zu verwenden, wenn Sie eine Zuordnung Insert-Modus wird es buchstäblich, wenn sie in Paste-Modus lesen. Also, wenn Sie :set paste, gehen Sie in den Einfügemodus, und geben Sie eine beliebige imap das Mapping wird nicht abgeschlossen, sondern stattdessen die literalen Zeichen eingefügt werden. Mit pastetoggle können Sie umgehen, da es ein eingebautes Feature ist.

Wie andere gesagt haben, wenn Sie im Einfügemodus sind, können Sie auch <C-r>* verwenden, aber warum? Ihr normaler Pasting-Flow ist wahrscheinlich besser. Das Verständnis der * Register und <C-r> ist jedoch eine wichtige Fähigkeit. Sie können mehr über sie unter :help registers und :help i_CTRL-R lesen. Du könntest auch "*p verwenden, aber wenn du schneller tippst als deine normale Paste, bin ich beeindruckt. Natürlich könntest du das auf etwas anderes abbilden, aber nochmal ... warum? Sie sollten sich daran gewöhnen, mit i, I, a, A, o, O, s, S, c, and C schnell in den Einfügemodus zu gelangen, damit Sie genau sein können.

15
  1. Einfügemodus (Typ i)
  2. Typ: ctrl - Verschiebung - v
+0

Dies funktioniert mit Raspberry Pi. Das "* p" wurde nur aus dem letzten Register von vim eingefügt. – rball

7

Die wirkliche Antwort:

  1. :set paste

  2. Geben Sie Insert-Modus: hit i

  3. Paste: Befehl + v oder Steuerung + v

  4. :set nopaste

+0

Ich bin mir sicher, dass Sie herausfinden können, wie man einen anderen Schlüssel zum Einfügen in vim verwendet –

+0

Es fehlt ein Schritt: Nach Schritt 3 drücken Sie Esc, um den Einfügemodus zu beenden. – boot13

2

Der einfachste Weg ist, einfach den Text zu kopieren und genau den richtigen Clic, wo Sie ihn im INSERT-Modus in VIM einfügen möchten.

Verwandte Themen