Ich habe zwei Spalten voller Text und möchte sie nebeneinander abrufen. Zum Beispiel habe ich
abc
def
ghi
und
123
456
789
und ich will
123 abc
456 def
789 ghi
Ich kann nur herausfinden, wie dieselbe Zeile am Ende jeder Zeile in einer Spalte eingefügt wird. Ich kann nicht herausfinden, wie ein mehrzeiliger Textblock am Ende einer anderen Spalte eingefügt wird.
*
Register tatsächlich das Register ist, dh die Systemzwischenablage.y
und verwendetp
, wenn Sie kein spezielles mit angeben"
.Ich habe mich gefragt, warum der "visuelle Blockmodus" bei mir nicht funktioniert. Der Schlüssel ist, im visuellen Modus zu ziehen (oder zu löschen).
Ich muss einige Sachen aus Excel-Spalten mit variabler Länge kopieren. So mache ich das:
Angenommen, Sie möchten die zweite Spalte nach der ersten setzen.
Age
Ctrl + v
, um den visuellen Modus aufzurufen5
in45
y
auf Yank (oderd
zu löschen)Sie haben jetzt im visuellen Modus gerissen.
Einfügen (im normalen Modus)
Gehen Sie zum Ende der ersten Zeile und fügen Sie mehr Leerzeichen hinzu, da diese beispielsweise kürzer als die zweite Zeile sind. Wenn Sie einen "Block" einfügen, ohne zusätzliche Leerzeichen hinzuzufügen, wird der "Lauf" in Sebastian Thrun überschrieben.
Wenn Sie sich in der ersten Zeile befinden, fügen Sie nach dem letzten Zeichen einige Leerzeichen ein. Stellen Sie sicher, dass Sie sich nicht im Einfügemodus befinden, und
p
drücken Sie, um den Block einzufügen . (Wenn Sie im Einfügemodus einfügen möchten, verwenden Siectrl+r "
)quelle
ctrl+r "
nicht wie beschrieben. Sollte es so sein?:registers
und schau was du da drin hast. Wenn Sie etwas unter haben"
, tippen Sie wahrscheinlichctrl+r '
(stellen Sie sicher, dass Sie die Schicht halten)1\n100\n1
und die letzte0
von100
fehlen wird.set clipboard^=unnamed
in meiner ,vimrc
um automatisch die Zwischenablage zwischen macOS und Vim zu teilen. Wenn diese Option festgelegt ist, wird der Inhalt immer als einzelne Spalte eingefügt. Wenn diese Option entfernt ist, funktioniert das Einfügen wie oben beschrieben.Du hast:
Bewegen Sie den Cursor auf die
a
. DannCTRL+V
, und bewegen Sie den Cursor aufi
. Drücken Siey
.Fügen Sie als Nächstes nach dem
3
Zeichen ein Leerzeichen ein und drücken Siep
.Erledigt.
quelle
Wenn Sie auf einem Mac arbeiten und nicht herausfinden können, warum das Einfügen den Block in neue Zeilen einfügt, liegt dies daran, dass Sie das System-Pasteboard verwenden.
Kein Problem, nur mit Puffern ziehen / einfügen:
letter
Puffer ziehenletter
PufferStellen Sie sicher, dass dies
letter
nicht+
der System-Pasteboard-Puffer ist und somit den gleichen Effekt hat.quelle
+
registrieren,p
Spalte nicht einfügen lassen.Dies mag offensichtlich erscheinen, aber wenn Sie aus einem extern kopierten Puffer einfügen, funktioniert dies nicht nur mit dem Einfügen im visuellen Modus. Was Sie tun können, ist zuerst eine normale Paste in einem leeren Bereich und vertikales Ausschneiden / Einfügen mit der obigen Methode.
quelle
Wenn Sie den Registertyp manuell auf blockweise einstellen möchten, verwenden Sie diese Option
oder
Nützlich zum Einfügen einer Spalte aus einem Tabellenkalkulationseditor.
Siehe
:help setreg
und vimtip für Details.quelle