2016-05-06 19 views
0

Ich möchte <S-Insert> verwenden, um den Inhalt der Zwischenablage in vim unabhängig einzufügen ist mir in normal oder insert ModusKarte <S-Insert> Inhalt der Zwischenablage einzufügen in eine Datei des Typs

Ich bin mit [23 Fedora, Gnome-Terminal 3.18. 3, vim 7.4 + xterm_clipboard]


Das übliche Problem, das ich habe, ist:

  1. Ich gehe auf dem Netz und Ctrl-C auf mehreren Leitungen
  2. Zurück zu vim in Insert oder Normal-Modus Ich möchte OHNE Vertiefung Änderung einzufügen

Und ich bekomme eine Paste mit einer Einbuchtung vermasselt aber nur, wenn die Datei als filetype wie r/python kopiert werden (ich glaube, da ein Gedankenstrich definiert ist)


Was ich gefunden

Ich fand this post (unter anderem), aber das funktioniert nicht.

Wie kann ich es

funktioniert Wenn ich den paste Modus funktioniert es Zum Beispiel, wenn ich

  1. gehe ich im Internet und Ctrl-C auf mehreren Leitungen
  2. In vim: set Paste
  3. I <S-Insert> tun
Dann 0

es funktioniert unabhängig von Betriebsart oder Datei des Typs und ich kann :set nopaste

Ein anderer Weg ist aus der Zwischenablage einzufügen "+p die funktioniert (ohne mit paste Modus Messing)

Leads ??

Sache ist, ich bin nicht einmal sicher, ob diese vim Zusammenhang ist, ich glaube, ich nicht <S-Insert> abbilden kann, als ob ich

tun
nnoremap <S-Insert> <NOP> 
inoremap <S-Insert> <NOP> 
vnoremap <S-Insert> <NOP> 

Und neue Terminal starten dann vim und versuchen <S-Insert> es noch Kopien

Antwort

0

erhalte ich eine Paste mit einer verkorksten Einbuchtung

Dies, weil vim assum ist Es ist der kopierte Text als ein Strom von Zeichen, die darin eingegeben werden.

Wenn Sie System-Zwischenablage in vim, verwenden Sie diese Zuordnungen

:map <silent> <S-Insert> "+p 
:imap <silent> <S-Insert> <Esc>"+pa 

Sie finden können, wenn vim hat die Zwischenablage Unterstützung

vim --version 

mit der Wenn Sie "+ xterm_clipboard" zu sehen, Sie sind gut gehen. Verwenden Sie es mit

set clipboard=unnamed " or 
set clipboard=unnamedplus 

Bei der Verwendung von Systemtastatur aus dem Bild ist, wäre mein Vorschlag, eine Funktion zu schreiben, die Sie Modus mit set paste einfügen nimmt, fügt den kopierten Text, führt Sie zurück in den normalen Modus mit set nopaste

+0

ich habe '+ xterm_clipboard' leider Ihr fix für mich arbeiten nicht – statquant

+0

können Sie versuchen,': map "* P' dh' * 'statt' + ' –

+0

Does'?" * P' oder '" + p "den Text in die Zwischenablage einfügen? –