Ich habe versucht, etwas von vim in eine andere Anwendung einzufügen und auch, von dieser Anwendung vim
mit der rechten Maustaste zu klicken und dann zu kopieren und einzufügen (oder mit Ctrl+ vund Ctrl+ cund habe Commandnatürlich auch die Version für Mac OSX ausprobiert .). Wenn ich es jedoch versuche, kopiert es nur das erste Wort, wenn ich es aus vim
oder wenn ich es aus der Anwendung in kopiere. vim
Es kopiert alles, fügt jedoch seltsame Tabulatoren und Leerzeichen ein. Ich glaube, das ist passiert, als ich mich entschlossen habe, meine Maus im Terminal einzuschalten. Wie in:
:set mouse=a
Ich habe diese Zeile in meiner .vimrc
Datei auf iTerm (Mac OS X). Ist es jedoch möglich, mein Kopieren mit anderen Anwendungen einzufügen, die nicht in der Lage sind, nicht vim
mit dem mouse=a
An zu brechen ? Oder ist es zumindest möglich, meine Maus auszuschalten, während ich den Kopiervorgang durchführe? Ich habe mit der :help
Maus gearbeitet, aber die Kommentare waren für mich nicht hilfreich. Ich würde sie hier einfügen, aber ... mein Kopierwerkzeug ist kaputt!
Ich habe versucht :set mouse!
und :set mouse=a!
aber diese tat nichts brauchbar ... :(
Zusätzliche Informationen zu meiner Umgebung:
Ich benutze auch meistens tmux, aber ich habe diesen Fehler / Bug ohne eine tmux-Sitzung getestet. Deshalb habe ich dies hauptsächlich als vim-Frage gepostet.
vim
es in der Lage ist, mit demy
Verb ganz gut zur primären Auswahl zu springen . Ich weiß nicht, warum Sie das nicht einfach benutzen würden.Antworten:
mouse=a
Verhindert das Kopieren und Einfügen von lesbaren Zeichen aus vim.Ändern Sie
mouse=a
zumouse=r
und das sollte Ihr Problem damit beheben.eine Sache, die ich mich wundere, ist, ändern Sie die Konfigurationsdatei für Ihr vim mit der Maus, die auf mouse = a eingestellt wird?
orignal answer ^
Wenn
mouse=r
Ihnen nicht alle Optionen zum Kopieren der Vergangenheit zur Verfügung stehen, ändern Sie sie inmouse=v
Beide
mouse=r
undmouse=v
haben die gleichen Funktionen, die Sie benötigen, aber je nach verwendetem VIMRC funktioniert einer besser als der andere.quelle
one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?
Sie meinen, wenn ich:mouse=a
in meiner .vimrc-Datei habe? Ich habe:mouse=a
in meiner .vimrc-Datei eine Datei.--with-x=yes
? Brauche ich nicht zu setzen:set --with-x=yes mouse=a
oder so? Könnten Sie klarstellen, was Sie meinen?--with-x=yes
zuset mouse=a
. Als ich darüber las, sah ich nur, dass es sich von selbst in der Konfigurationsdatei befand. Aber es könnte anders sein, deshalb möchte ich sicherstellen, dass ich Ihnen das Richtige sage, das für Sie funktionieren wird.Für OS X-Benutzer: Kopieren und Einfügen mit
mouse=a
, altanstatt Shiftden Text auszuwählen. Dann cmd-cund cmd-varbeite wie erwartet.Fanden diese Antwort hier https://stackoverflow.com/a/4608387/671639 nach viel googeln.
quelle
Von https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387
Drücken Sie die Umschalttaste, während Sie mit der Maus auswählen. Dadurch verhält sich die Mausauswahl so, als wäre mouse = a nicht aktiviert.
Dies funktioniert und wurde von Überprüfern von Stack-Overflow überprüft, die dies als Antwort akzeptiert haben :)
quelle
Bharaths Lösung , die Shiftwährend des Kopierens gedrückt wird , erledigt dies, kopiert jedoch mehr als das, was Sie im Falle von Nummerierungen oder Hash-Kommentaren kopieren möchten.
Eine Möglichkeit, dies auch mit der Maus zu tun, besteht darin, den visuellen Modus zu verwenden, indem Sie Vfür einen einzelnen Cursor oder Shift+ drücken, um eine Vvollständige Linie hervorzuheben. Sie können mit den Pfeilen nach oben oder unten navigieren und Yzum Kopieren oder DAusschneiden verwenden, und das sollte funktionieren.
quelle
Hatte das gleiche Problem: Konnte nicht mit der Maus markieren, konnte also nicht aus VIM in einer Terminalsitzung in Windows-Dokument und Browser kopieren und einfügen: Hat Folgendes und es funktioniert jetzt:
quelle
Siehe: http://vimdoc.sourceforge.net/htmldoc/options.html
Beachten Sie den Hinweis unten in der Referenz:
Wenn Sie die Maus aktivieren, können Sie die Maustasten weiterhin verwenden, indem Sie die Umschalttaste gedrückt halten. Dies schließt das Kopieren und Einfügen mit den Maustasten ein.
quelle
Was den zweiten Teil Ihrer Frage betrifft, haben Sie angegeben, dass beim Einfügen aus anderen Anwendungen in vim Tabulatoren / Leerzeichen hinzugefügt werden. Versuchen Sie, dies zu Ihrer ~ / .vimrc-Set-Paste oder in vim hinzuzufügen, bevor Sie im normalen Modus einfügen. Drücken Sie "shift" + ":" und geben Sie "set paste" ein.
quelle
Sie können verwenden, um yzu kopieren (yank) und pauch mit
:set mouse=a
set in einzufügen~/.vimrc
. Verwenden Sie v+arrow keys
, um den Text zu markieren. Um eine ganze Zeile schnell zu kopieren, verwenden Sie shift+ y.quelle
Auf meinem Mac haben diese beiden Dinge geholfen:
quelle
Verwenden Sie diese beiden Zeilen in Ihrem
~/.vimrc
, um alle netten Funktionen von a zu nutzengui-mouse
und in diey
Systemzwischenablage einzufügen, wenn Sie keine zusätzlichen Puffer für die Zwischenablage benötigen:quelle