Utilizzando vim e caffeina sulla stessa macchina


12

sfondo

Lavoro in un laboratorio di ricerca e uso tre diversi sistemi operativi ogni giorno. Sulle macchine Windows e Mac utilizzo Caffeina per impedire a tali macchine di abilitare lo screensaver mentre lavoro su una macchina diversa (Linux non ha questo problema). È molto fastidioso dover accedere nuovamente quando torno indietro.

Problema

Quando vim o gvim sono in modalità insert, il carattere <F15>appare sporadicamente nel documento. L'ho rintracciato alla caffeina dopo un po 'di ricerche. Il sito Web della caffeina afferma che il software funziona occasionalmente simulando un <F15>evento di stampa chiave:

Di tutti i tasti disponibili, F15 è probabilmente il meno invadente (non ho mai visto una tastiera per PC con quel tasto!) E probabilmente non interferisce con il tuo lavoro.

Quindi la caffeina è l'ovvia colpevole. Tuttavia, preferisco ancora utilizzare il mio editor di testo preferito su tutte e tre le macchine e non intendo modificarlo solo per adattarmi all'uso della caffeina.

Domanda

C'è qualcosa che posso mettere nel mio vimrcper far sì che vim ignori <F15>gli eventi di pressione dei tasti?


Modifica per chiarezza

Non riesco a disabilitare il timeout dello screensaver; è impostato dal dipartimento IT per motivi di sicurezza. Quindi, con il rimedio alla caffeina, per rimanere conforme, devo bloccare manualmente le mie macchine quando mi allontano dalla mia scrivania. Non è così male; ma sbloccarli ogni pochi minuti è.

Inoltre, non ho scritto caffeina, quindi non so perché lo sviluppatore abbia scelto di fare clic <F15>una volta al minuto. Probabilmente l'avrei fatto diversamente, forse con un leggero movimento del mouse o tocco del touchpad, come suggerito da @ Random832.


4
Perché non disabilitare solo gli screensaver / timeout per bloccare su quelle macchine? Sarebbe una soluzione molto più pulita che configurare vim per aggirare lo strano comportamento della caffeina. O almeno far sì che la caffeina simuli qualcosa di simile <Ctrl>invece di <F15>.
Ruslan,

1
@Ruslan Il punto di usare <F15>è che molto raramente significa qualcosa ed è generalmente ignorato; <Ctrl>, tuttavia, è significativo e quando attivato al momento sbagliato potrebbe causare comportamenti non intenzionali.
Kyle Strand,

@Ruslan il sistema operativo è configurato dal dipartimento IT per bloccare dopo un periodo di inattività; l'esecuzione di caffeina mi consente di aggirarlo, purché blocchi manualmente le macchine quando mi allontano dalla mia scrivania. Inoltre, non ho il codice sorgente per la caffeina, quindi non posso modificarlo.
Jonathan Landrum,

Perché non simula solo l'evento che si ottiene quando si tocca il touchpad quando si tocca non è abilitato, ma si concentra comunque sulla finestra in cui ci si trova, ma sulla finestra corrente in modo che non faccia nulla?
Casuale 832,

@ Random832 è una buona domanda; Non ho scritto il programma, quindi non conosco la logica dietro la scelta <F15>diversa da quella pubblicata sul sito.
Jonathan Landrum,

Risposte:


20

È possibile mappare una chiave su <nop>(abbreviazione di "nessuna operazione") per renderla "non fare nulla".

Questo dovrebbe far sì che Vim ignori la <F15>chiave in tutte le modalità:

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

Questo probabilmente risolverà il tuo problema, ma non l'ho testato nella tua situazione specifica, poiché non ho varie macchine Windows / OSX con Caffeina installata in piedi :-)


Sembra che l'abbia fatto! Grazie per l'aiuto.
Jonathan Landrum,

1
Va notato che presumibilmente chiavi morte come <f15>sono spesso usate quando si mappano codici chiave veloci nel terminale Vim . Esempio di un plugin che fa una cosa del genere è rsi.vim .
Peter Rincker,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.