Verwenden von Vim und Koffein auf derselben Maschine

11

Hintergrund

Ich arbeite in einem Forschungslabor und benutze täglich drei verschiedene Betriebssysteme. Auf Windows- und Mac-Computern verwende ich Koffein , um zu verhindern, dass diese Computer den Bildschirmschoner aktivieren, während ich auf einem anderen Computer arbeite (Linux hat dieses Problem nicht). Es ist sehr ärgerlich, sich beim Zurückschalten erneut anmelden zu müssen.

Problem

Wenn sich vim oder gvim im Einfügemodus befinden, wird das Zeichen <F15>sporadisch im Dokument angezeigt. Nach ein wenig Recherche habe ich es auf Koffein zurückgeführt. Auf der Website für Koffein heißt es, dass die Software gelegentlich ein <F15>Tastendruckereignis simuliert :

Von allen verfügbaren Tastendrücken ist F15 wahrscheinlich der am wenigsten aufdringliche (ich habe noch nie eine PC-Tastatur mit dieser Taste gesehen!) Und stört Ihre Arbeit am wenigsten.

Koffein ist also der offensichtliche Schuldige. Ich bevorzuge es jedoch immer noch, meinen bevorzugten Texteditor auf allen drei Computern zu verwenden, und beabsichtige nicht, dies zu ändern, nur um die Verwendung von Koffein zu ermöglichen.

Frage

Gibt es etwas, das ich in mein vimrcGerät einfügen kann , damit vim <F15>wichtige Druckereignisse ignoriert ?


Aus Gründen der Übersichtlichkeit bearbeiten

Ich kann das Zeitlimit für den Bildschirmschoner nicht deaktivieren. Sie wird von der IT-Abteilung aus Sicherheitsgründen festgelegt. Bei der Koffeinumgehung muss ich meine Maschinen manuell sperren, um die Konformität zu gewährleisten, wenn ich mich von meinem Schreibtisch entferne. Das ist nicht so schlecht; aber sie alle paar Minuten freizuschalten ist.

Außerdem habe ich kein Koffein geschrieben, daher weiß ich nicht, warum der Entwickler <F15>einmal pro Minute geklickt hat. Ich hätte es wahrscheinlich anders gemacht, vielleicht mit einer leichten Mausbewegung oder einem Touchpad-Tipp, wie @ Random832 vorgeschlagen hat.

Jonathan Landrum
quelle
4
Warum nicht einfach Bildschirmschoner / Timeout-to-Lock auf diesen Computern deaktivieren? Es wäre eine viel sauberere Lösung, als vim so zu konfigurieren, dass es das seltsame Verhalten von Koffein umgeht. Oder zumindest Koffein simuliert so etwas wie <Ctrl>statt <F15>.
Ruslan
1
@ Ruslan Der Sinn der Verwendung <F15>ist, dass es sehr selten etwas bedeutet und im Allgemeinen ignoriert wird; <Ctrl>Dies ist jedoch sinnvoll und kann bei falscher Auslösung zu unbeabsichtigtem Verhalten führen.
Kyle Strand
@Ruslan Das Betriebssystem wird von der IT-Abteilung so konfiguriert, dass es nach einer gewissen Zeit der Inaktivität gesperrt wird. Wenn ich Koffein verwende, kann ich das umgehen, solange ich meine Maschinen manuell sperre, wenn ich mich von meinem Schreibtisch entferne. Außerdem habe ich keinen Quellcode für Koffein, daher kann ich ihn nicht ändern.
Jonathan Landrum
Warum simuliert es nicht einfach das Ereignis, das Sie erhalten, wenn Sie auf das Touchpad tippen, wenn das Tippen nicht aktiviert ist, sondern das Fenster, über dem Sie sich befinden, fokussiert - aber über das aktuelle Fenster, sodass es nichts bewirkt?
Random832
@ Random832 das ist eine gute Frage; Ich habe das Programm nicht geschrieben, daher kenne ich die Logik hinter der Auswahl nicht <F15>anders als die auf der Website veröffentlichten.
Jonathan Landrum

Antworten:

20

Sie können einen Schlüssel zuordnen <nop>(kurz für "keine Operation"), damit er "nichts tut".

Dies sollte dazu führen, dass Vim den <F15>Schlüssel in allen Modi ignoriert :

:noremap <F15> <nop> 
:noremap! <F15> <nop>

Dies wird wahrscheinlich Ihr Problem beheben, aber ich habe es nicht in Ihrer speziellen Situation getestet, da ich keine verschiedenen Windows / OSX-Computer mit installiertem Caffeine im Standby-Modus habe :-)

Martin Tournoij
quelle
Es sieht so aus, als hätte es das getan! Danke für deine Hilfe.
Jonathan Landrum
1
Es sollte beachtet werden, dass vermutlich tote Schlüssel wie <f15>häufig verwendet werden, wenn schnelle Schlüsselcodes in Terminal Vim zugeordnet werden . Ein Beispiel für ein Plugin, das so etwas tut, ist rsi.vim .
Peter Rincker