Warum kann nicht für Windows 7 nach VIM kopieren?


1

Was wären die Befehle, um STRG + V auf gVim ausführen zu können?

Unter OS X kann ich Text in vim kopieren, unter Windows jedoch nicht.

Antworten:


2

Anstatt benutzerdefinierte Verknüpfungen einzurichten, würde ich Folgendes empfehlen:

  1. Einfügen aus dem Register:

    " + + + p

  2. Einfügen mit der mittleren Maustaste

  3. Einfügen über Kontextmenü

BEARBEITEN:

Gemäß diese Antwort: Möglicherweise muss die Zwischenablage auf "unbenannt" eingestellt sein, damit das Einfügen von Registern funktioniert.

set clipboard=unnamed


Nur "+ p funktioniert nicht in Mac oder Win ...
Anderson Juhasc

@ AndersonJuhasc nach diese Antwort, die Sie möglicherweise benötigen set clipboard=unnamed
tidbeck

2

Von der vim Dokumentation :

mswin.vim

Um die Standard-MS-Windows-Methode von STRG-X, STRG-C und zu verwenden   STRG-V, verwenden Sie das Skript $ VIMRUNTIME / mswin.vim. Sie könnten diese Zeile hinzufügen   in Ihre _vimrc-Datei: source $ VIMRUNTIME / mswin.vim


2

Sie können zwar Tastenkombinationen einrichten, wie Otiel dies vorschlägt, aber ich denke, es ist sinnvoller zu verstehen, wie das Kopieren und Einfügen in Vim funktioniert, und zu lernen, was diese Befehle tatsächlich bedeuten.

Die Befehle zum Ausschneiden, Kopieren und Einfügen in Vim ( d, y und p ) arbeiten mit sogenannten registriert die den zuletzt ausgeschnittenen oder kopierten Text enthalten. Standardmäßig verwenden sie das unbenannte Register "", während die Systemzwischenablage die "+ registrieren.

Sie können Befehlen stattdessen ein Register voranstellen. Verwenden Sie also, um von Vim nach Windows zu kopieren "+yund zum Einfügen aus Windows verwenden Sie "+p.

Sie haben auch 26 benannte Register "a zu "z die Sie für alles verwenden können, was Sie wollen. Dies kann bei komplexen Bearbeitungsvorgängen sehr nützlich sein.

Es gibt auch mehr Sonderregister, für weitere Informationen siehe :help registers.


Verwenden Sie '"+ y' in OSX?
Anderson Juhasc

0

Fügen Sie Folgendes in Ihre vimrc Datei (sollte sich unter befinden C:\Program Files\Vim\_vimrc ):

" CTRL-X = cut
vnoremap <C-X> "+x
" CTRL-C = copy
vnoremap <C-C> "+y
" CTRL-V = paste
map <C-V> "+gP
cmap <C-V> <C-R>+
exe 'inoremap <script> <C-V>' paste#paste_cmd['i']
exe 'vnoremap <script> <C-V>' paste#paste_cmd['v']
imap <S-Insert> <C-V>
vmap <S-Insert> <C-V>

Oder nutzen Sie die p Befehl in vim, um den Inhalt der Zwischenablage einzufügen.


2
... das ist sooo falsch ...
Rook
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.