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.
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:
Anstatt benutzerdefinierte Verknüpfungen einzurichten, würde ich Folgendes empfehlen:
Einfügen aus dem Register:
" + + + p
Einfügen mit der mittleren Maustaste
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
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
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 "+y
und 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
.
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.