So kopieren Sie ausgewählte Zeilen in vim in die Zwischenablage. Ich weiß, wie es für alle Textdateien geht , aber ich möchte es für ausgewählte Zeilen tun. Vielen Dank!
So kopieren Sie ausgewählte Zeilen in vim in die Zwischenablage. Ich weiß, wie es für alle Textdateien geht , aber ich möchte es für ausgewählte Zeilen tun. Vielen Dank!
Antworten:
SHIFTVversetzt Sie in den Modus "Linien auswählen". Anschließend "*ywerden die aktuell ausgewählten Zeilen in das *Register gezogen, das die Zwischenablage darstellt. Es gibt einige verschiedene Register für verschiedene Zwecke. Weitere selection and drop registersInformationen zu den Unterschieden zwischen *und +Registern unter Windows und Linux finden Sie im Abschnitt über .
Wenn Sie unter Linux arbeiten und eine VIm-Version 7.3.74 oder höher verwenden (die Version, die ab Ubuntu 11.10 installiert wird, erfüllt dies), können Sie dies tun
set clipboard=unnamedplus
Dadurch wird zerrissener Text in die globale Zwischenablage eingefügt und Sie können ihn aus der globalen Zwischenablage einfügen, ohne spezielle Register verwenden zu müssen. Im Gegensatz zur Lösung von ldigas funktioniert dies auch bei Nicht-GUI-Versionen von VIm.
vim-gnomePaket anstelle von installiere vim.
vim --version | grep "+xterm_clipboard".
clipboard=unnamedstattdessen ( vim.wikia.com/wiki/Accessing_the_system_clipboard )
set guioptions+=a
will, ... ähm, kurz gesagt, wenn Sie etwas auswählen / ziehen, legen Sie es ebenfalls in die Zwischenablage (nicht Vims, sondern die globale Tastatur des Fenstersystems). Auf diese Weise müssen Sie nicht daran denken, Dinge in ein spezielles Register zu ziehen.
Drücken Sie für GVIM, vum in den visuellen Modus zu wechseln. Wählen Sie Text aus und drücken Sie, Ctrl+Insertum die Auswahl in die globale Zwischenablage zu kopieren.
Im Menü können Sie sehen, dass die Tastenkombination lautet: "+yHalten Sie die Umschalttaste gedrückt, drücken Sie "dann +und lassen Sie dann die Umschalttaste los und drücken Sie y(umständlich im Vergleich zu Umschalt + Einfügen).
Wenn Sie vim in MAC OSX verwenden, wird es leider mit einer älteren Version geliefert und entspricht nicht den Optionen für die Zwischenablage. Glücklicherweise kann Homebrew dieses Problem leicht lösen.
installiere vim:
brew install vim --with-lua --with-override-system-vim
Installieren Sie die Anleitung von vim:
brew install macvim --with-lua --with-override-system-vim
Starten Sie das Terminal neu, damit es wirksam wird.
Fügen Sie die folgende Zeile an ~ / .vimrc an
set clipboard=unnamed
Jetzt können Sie die Zeile in vim mit kopieren yy
und systemweit einfügen.
Installieren Sie "xclip", wenn Sie nicht ...
sudo apt-get install xclip
Xclip fügt die Daten in die Zwischenablage "Auswahl / Hervorgehoben" ein, die Sie mit der mittleren Maustaste einfügen, um sie einzufügen, im Gegensatz zu "Strg + V".
Verwenden Sie in vim ex-Befehle:
7w !xclip
oder
1,7w !xclip
oder
%w !xclip
Klicken Sie dann einfach mit der mittleren Maustaste, um sie in eine andere Anwendung einzufügen ...
Wenn vim mit Unterstützung für die Zwischenablage kompiliert wird, können Sie folgende "*yBedeutung verwenden: Ziehen Sie visuell ausgewählten Text in das Register *('*' steht für die Zwischenablage)
Wenn es keine Unterstützung für die Zwischenablage gibt, ist es meiner Meinung nach nur eine andere Möglichkeit Ctrl+Insert, den Text in vim visuell auszuwählen.
Ich habe die folgende Zeile zu meiner hinzugefügt .vimrc
vnoremap <F5> "+y<CR>
Auf diese Weise können Sie den ausgewählten Text durch Drücken in die Zwischenablage kopieren F5. Sie müssen sich im visuellen Modus befinden, damit dies funktioniert.
~/.vimrcDanke, das ist viel besser.
Fügen Sie den folgenden Code hinzu .vimrc:
if has('clipboard')
if has('unnamedplus') " When possible use + register for copy-paste
set clipboard=unnamed,unnamedplus
else " On mac and Windows, use * register for copy-paste
set clipboard=unnamed
endif
endif