807 Stimmen

Alle Zeilen in die Zwischenablage kopieren

Gibt es eine Möglichkeit, alle Zeilen aus der geöffneten Datei in die Zwischenablage des VI-Editors zu kopieren? Ich habe versucht yG aber es verwendet nicht die Zwischenablage, um diese Zeilen zu speichern.

Ist es also möglich?

1 Stimmen

1 Stimmen

Wenn Sie Windows verwenden und yank nicht funktioniert, lesen Sie die 17. Antwort von oben: stackoverflow.com/questions/1620018/

4voto

arfo Punkte 211

Nun, alle diese Ansätze sind interessant, aber als fauler Programmierer verwende ich yank alle Zeile, indem Sie die Kombination von Zahl + y

Wenn Sie zum Beispiel eine Quellcodedatei mit insgesamt 78 Zeilen haben, können Sie wie folgt vorgehen:

  1. gg um den Cursor auf die erste Zeile zu setzen
  2. Einsatz 78 + y --> es werden 78 Zeilen unter dem Cursor und der aktuellen Zeile gelöscht

4voto

rshdev Punkte 363

In Bill Joys vi gab es das Konzept der "Zwischenablage" nicht, also glaube ich nicht, dass es eine eingebaute Möglichkeit gibt, dies zu tun.

Am einfachsten ist die automatische Kopierfunktion von gVim, die alles, was hervorgehoben ist, in die Zwischenablage kopiert, oder Sie verwenden ein externes Programm über :!

Für Cygwins vim verwende ich

:%!putclip
u

Vielleicht hat Ubuntu eine CLI-Anwendung wie putclip?

0 Stimmen

Es gibt ein solches Programm, es heißt xclip. Für Details habe ich eine separate Antwort geschrieben (es wäre zu verwirrend gewesen, sie in einem Kommentar zu lesen, ohne die zusätzlichen Zeilenumbrüche und Code-Formatierung).

4voto

aks Punkte 392

Ich habe die folgende Zeile zu meiner .vimrc hinzugefügt

nnoremap <F5> :%y+<CR>

Dies erlaubt mir, den gesamten Text in Vim in die Zwischenablage zu kopieren, indem ich F5 (im Befehlsmodus).

0 Stimmen

E850: Ungültiger Registername unter Ubuntu 18.04 und Vim 7.4

0 Stimmen

@user1325696 Ich habe das unter Windows ausprobiert. Vielleicht ist der <CR>-Teil unter Ubuntu anders

3voto

go2null Punkte 1650

Wenn Ihre Finger standardmäßig auf CTRL-A CTRL-C und versuchen Sie dann die Zuordnungen aus $VIMRUNTIME/mswin.vim .

" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y

" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG

Ich habe sie zugeordnet zu <Leader><C-a> y <Leader><C-c> .

1voto

jahroy Punkte 21420

Hier ist ein Map-Befehl, mit dem Sie alles in die Zwischenablage kopieren können CTRL + a :

"
" select all with control-a
"
nnoremap <C-a> ggmqvG"+y'q

Fügen Sie es zu Ihrem .vimrc und schon kann es losgehen...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X