Vimperator Kopieren / Einfügen

14858
hasen

Ich probiere Vimperator aus . Ich wollte es hauptsächlich für das hjkl-Scrollen, und ich mag sein "Hinweis" -System für das Folgen von Links. Diese beiden Funktionen sind wirklich alles, was ich brauche. Meiner Ansicht nach.

Ich kümmere mich nicht um die anderen Funktionen, es stört mich manchmal.

Was mich am meisten ärgert, ist das Kopieren / Einfügen. Ich bin an Ctrl+ c/ Ctrl+ gewöhnt v, es macht mir nichts aus, eine andere Verknüpfung zu verwenden, aber ..

:help yank zeigt an, dass das Kopieren des ausgewählten Textes mit Y erfolgt, die einzige beim Einfügen erwähnte Methode ist jedoch die mittlere Maustaste!

Das ist so lächerlich gegen den Geist von Vim!

Wie kann ich in Vimperator einfügen, ohne die Maus zu verwenden?

23
Die Antworten in dieser Frage sind alle veraltet (was seit sieben Jahren sinnvoll ist). Wenn Sie hier bei Google gelandet sind, sind diese (heute) nicht die Antworten, die Sie suchen Arthur Ulfeldt vor 7 Jahren 0

8 Antworten auf die Frage

36
RevAaron

Ich bin überrascht, dass auf diese Frage keine genauere Antwort gegeben wurde. Der Plugin-Link der ausgewählten Antwort löste das Problem des OP. Es wurde jedoch nicht erklärt, wie etwas in ein Textfeld eingefügt werden kann, ohne den Passthrough-Modus (Cv) zu verwenden.

Wenn Sie sich im INSERT-Modus in einem Textfeld befinden und etwas einfügen möchten, ist es naheliegend, in vi-land die Tasten ESC und p zum Einfügen zu drücken. In vimperator funktioniert das nicht. ESC bringt Sie vollständig aus dem INSERT-Modus heraus und in den Modus, in dem Sie mit der gesamten Seite / Registerkarte arbeiten.

Vimperator löst dies durch einen zusätzlichen BASIC-Modus - TEXTAREA. Im Modus TEXTAREA können Sie die unterstützten Befehle verwenden, die Sie in vi verwenden würden.

Enter TEXTAREA mode: C-t Paste: p Copy line: yy Delete Char: x Delete Line: dd 

Usw.

Das scheint nicht gut dokumentiert zu sein - ich fand es meist aus Versehen heraus. In mehrzeiligen und einzeiligen Textfeldern funktioniert es genauso.

Vielen Dank für diesen Kommentar. Genau das brauchte ich, um Vimperator und Formularfelder zu umrunden. ZweiBlumen vor 12 Jahren 0
@RevAaron Wenn Sie den TEXTAREA-Modus aufrufen, entspricht dies der herkömmlichen VI-Umgebung, und die meisten VI-Tasten funktionieren für die Bearbeitung von Text. Und ich habe auch (wieder zufällig) bemerkt, wenn ich im TEXTAREA-Modus auf "d" und dann auf "s" oder "a" drücke, wird der Modus auf VISUAL umgeschaltet. Ich würde mich freuen, wenn Sie mir dazu Informationen geben könnten. oder auch wenn Sie möchten, dass ich es als Frage stellen kann, dann können Sie es beantworten, dann würden andere es verwenden. Mehrad vor 10 Jahren 0
15
user4126

Am besten und einfachsten können Sie die Schlüssel neu zuordnen. Es ist nicht schwer. Fügen Sie dies in Ihre _vimperatorrc (oder .vimperatorrc in Linux) ein.

noremap <C-c> <C-v><C-c> noremap <C-v> <C-v><C-v> 

<C-v>ist standardmäßig dem "Pass next" -Modus zugeordnet, was bedeutet, dass die nächste Taste, die Sie drücken, direkt an Firefox gesendet wird, ohne von vimperator verarbeitet und verarbeitet zu werden. Die obigen Mappings aktivieren einfach den "Pass next" -Modus und senden die entsprechende Verknüpfung.

Es gibt sogar ein Vimperator-Plugin, das dies noch erweitert und alle gängigen Windows-Verknüpfungen wieder aufnimmt, so dass sie sich wie erwartet verhalten.

zum (Einfügen) sollte Inoremap sein hasen vor 14 Jahren 3
für den Plugin-Link akzeptiert! Das ist großartig und behebt das Problem hasen vor 14 Jahren 0
In der aktuellen Version (3.8.1) sieht es so aus, als hätten Cc und Cv standardmäßig das Kopieren und Einfügen auf Betriebssystemebene ausgeführt ... In den Änderungsprotokollen konnte ich nichts darüber finden, aber ich habe gerade von Pentadactyl auf die neueste Version umgestellt Vimperator und Cc und Cv arbeiteten wie ich es wollte. hangtwenty vor 10 Jahren 2
@hangtwenty scheint richtig zu sein, die Antwort hier ist jetzt veraltet Arthur Ulfeldt vor 7 Jahren 0
13
joe

Im Moment ordnet vimperator sowohl Ctrl + C (von 'copy' zu 'cancel') als auch Ctrl + V (von 'paste' bis 'pass-through') zu. Unter Linux ist die bevorzugte Methode zum Kopieren / Einfügen die mittlere Maustaste. Dies ist also kein Problem. Unter Windows ist dies ein Benutzeroberflächen-Desaster, der dringend behoben werden muss.

Es gibt drei Stellen, an denen Sie möglicherweise kopieren: Text von einer Webseite, Text aus einem Formularfeld und Text aus einer externen Anwendung. Es gibt zwei Stellen, an die Sie kopieren können: in ein Formularfeld und in eine externe Anwendung. Die Adress- und Befehlsleiste funktionieren wie Formularfelder.

Copying from... A web page: 'Y' works, '^C' doesn't Form field: 'Y' doesn't work, '^C' does Extern application: 'Y' doesn't work, '^C' does Copying to... Form field: '^V' doesn't work, '^V,^V' does External application: '^V' works, '^V,^V' pastes twice Or, seen another way Copy Paste Page Y N/A Form ^C ^V,^V App ^C ^V 

Gewöhnliche Benutzer merken sich diese Tabelle nicht. Sie werden es nie herausfinden, weil es nicht explizit dokumentiert ist und sie es auch nicht lesen würden, selbst wenn es das wäre. Stattdessen verwenden sie das Rechtsklick-Menü, das einzige, das überall funktioniert. Ein paar Wochen, nachdem ich mit Vimperator angefangen hatte, fing ich an, genau das zu tun, in einer völlig anderen Anwendung, die ich noch nie gemacht hatte.

Die ursprünglichen, rechtmäßigen Funktionen von ^ C und ^ V müssen durch Kopieren und Einfügen wiederhergestellt werden. Dies bedeutet, dass die Hotkeys ^ C = cancel und ^ V = pass-through verschoben werden. Tatsächlich sind diese beiden Hotkeys für vimperator eindeutig und erscheinen nicht in vim. ^ V bedeutet 'block visual' in vim, was in vimperator nicht zutrifft, so dass der Durchgang leicht einer anderen Taste zugewiesen werden kann. Ich schlage im Befehlsmodus einen Backslash und im Befehls- und Einfügemodus Strg + Backslash vor. Damit bleibt ^ C. Ich denke das sollte nach ^ S verschoben werden. Dies hat zwei gute Mnemonics: Es ist 'stop' und es ist auch der Unix-Hotkey für XOFF, der nutzlos, aber semantisch ähnlich ist. ^ S ist derzeit in vimperator "Seite speichern unter", was selten verwendet wird und immer noch mit: save oder: saveas aufgerufen werden kann.

Undo ist ebenfalls defekt; Es war ^ Z, aber ^ Z ist kein Passthrough-Modus. Es gibt keine Möglichkeit, Änderungen in einem Formularfeld ohne Verwendung der Maus rückgängig zu machen. Ich sehe keinen Grund, das nicht auf einen anderen Hotkey zu verschieben, zumal ^ Z in vim bedeutet suspend, was völlig unabhängig ist, und sich unerwartet im Pass-Through-Modus befindet, ist äußerst verwirrend. Ich kann mir keine nicht-willkürlichen Hotkeys vorstellen, um dies zu ändern, aber Z war anfangs ziemlich willkürlich, so dass jeder ungenutzte Hotkey dies tun kann.

Soruce: http://www.mozdev.org/pipermail/vimperator/2008-Oktober/002359.html

2
Peter Mortensen

Ich fand die Antworten nicht nützlich, da ich Ctrl+ cnirgends sehen kann. Was ich mache, ist die SecureCRT-Verknüpfung. Das heißt zum Kopieren von der Seite:

Ctrl+Ins

Für das Einfügen: Ctrl+ Vzweimal (wie jemand anders in den Antworten anderswo sagt).

Ich danke Ihnen lieber Herr. Kartierung zu löste meinen besonderen Geschmack dieses Problems. Steve Vermeulen vor 10 Jahren 0
2
Charlie

Ich habe schon seit einiger Zeit nach einem Weg gesucht. Schön. Die noremap-Lösung von user4126 war jedoch nicht perfekt, wenn ich in die Befehlszeile oder in ein Textfeld einfügen wollte, wie Joe darauf hinweist. Also habe ich es mit inoremap und cnoremap unter http://charlieharvey.org.uk/page/vimperator_cut_and_paste optimiert . Es sieht nicht so aus, als würde Vnoremap unterstützt.

Sie können also in die Befehlszeile und in Textfelder einfügen, indem Sie die Tastenkombination Strg-V nur einmal verwenden. Fügen Sie Folgendes in Ihre .vimperatorrc ein und starten Sie Firefox neu.

noremap <C-v> <C-v><C-v> inoremap <C-v> <C-v><C-v> cnoremap <C-v> <C-v><C-v>  noremap <C-c> <C-v><C-c> inoremap <C-c> <C-v><C-c> cnoremap <C-c> <C-v><C-c> 
1
facepalmd

Versuchen Sie Folgendes, wenn Sie lieber eine mouseless-Erfahrung machen als eine vollständige Vim-Erfahrung:

NextPlease ist jetzt für FireFox 3.6 :) Alexey Romanov vor 14 Jahren 0
1
Hamish Downer

Für eine kurze Antwort - ^ V ^ V (dh Strg-V Strg-V)

Die erste Strg-V führt "nächsten Tastendruck durch". Das zweite Strg-V fügt den Text ein. Das mache ich für die meisten Textfelder.

Wenn Sie den vi-Modus für mehrzeilige Textfelder verwenden (set noinsertmode), können Sie auch mit p einfügen. Wenn Sie also die URL eines anderen Tabs in dieses Tag einfügen möchten, kann ich zu diesem Tab gehen, y verwenden und dann zurück zu diese Registerkarte. In der unteren Leiste des Browsers wird TEXTAREA angezeigt, und Sie können p drücken, um die URL einzufügen.

0
MaikoID

Ich würde vorschlagen, die

map <C-c> <C-v><C-c> noremap <C-v> <C-v><C-v> 

Wenn Sie einen externen Texteditor geöffnet haben, wird der externe Editor durch ein einfaches Cc bei FF-Fenster beendet, und Sie verlieren alles.

BR