Menggunakan vim dan Kafein pada mesin yang sama

12

Latar Belakang

Saya bekerja di laboratorium penelitian dan menggunakan tiga OS yang berbeda setiap hari. Pada mesin Windows dan Mac saya menggunakan Caffeine untuk menjaga mesin-mesin itu tidak mengaktifkan screensaver sementara saya bekerja pada mesin yang berbeda (Linux tidak memiliki masalah ini). Sangat menyebalkan harus login lagi ketika saya kembali.

Masalah

Ketika vim atau gvim berada dalam mode insert, karakter <F15>muncul secara sporadis dalam dokumen. Saya melacaknya kembali ke Kafein setelah melakukan sedikit riset. Situs web untuk Caffeine menyatakan bahwa perangkat lunak berfungsi dengan sesekali mensimulasikan <F15>acara pers utama:

Dari semua tombol yang tersedia, F15 mungkin adalah yang paling tidak mengganggu (saya belum pernah melihat keyboard PC dengan tombol itu!), Dan paling tidak mungkin mengganggu pekerjaan Anda.

Jadi Kafein adalah penyebab yang jelas. Namun, saya masih lebih suka menggunakan editor teks favorit saya di ketiga mesin, dan tidak bermaksud mengubahnya hanya untuk mengakomodasi penggunaan Caffeine.

Pertanyaan

Apakah ada sesuatu yang bisa saya masukkan ke dalam saya vimrcuntuk membuat vim mengabaikan <F15>acara pers utama?


Edit Untuk Kejelasan

Saya tidak dapat menonaktifkan batas waktu screensaver; diatur oleh departemen TI untuk tujuan keamanan. Jadi dengan kerja Caffeine, agar tetap patuh, saya harus mengunci mesin secara manual ketika saya menjauh dari meja saya. Itu tidak terlalu buruk; tetapi membuka mereka setiap beberapa menit adalah.

Juga, saya tidak menulis Kafein, jadi saya tidak tahu mengapa pengembang memilih untuk mengklik <F15>sekali setiap menit. Saya mungkin akan melakukannya secara berbeda, mungkin dengan sedikit gerakan mouse atau sentuh touchpad, seperti yang disarankan @ Random832.

Jonathan Landrum
sumber
4
Mengapa tidak menonaktifkan screensaver / timeout-to-lock pada mesin-mesin itu? Ini akan menjadi solusi yang jauh lebih bersih daripada mengkonfigurasi vim untuk mengatasi perilaku aneh Caffeine. Atau paling tidak membuat Kafein mensimulasikan sesuatu sebagai <Ctrl>ganti <F15>.
Ruslan
1
@Ruslan Maksud penggunaannya <F15>adalah bahwa hal itu sangat jarang berarti apa-apa dan umumnya diabaikan; <Ctrl>Namun, itu bermakna, dan ketika dipicu pada waktu yang salah dapat menyebabkan perilaku yang tidak diinginkan.
Kyle Strand
@Ruslan OS dikonfigurasikan oleh departemen TI untuk mengunci setelah periode tidak aktif; menjalankan Caffeine memungkinkan saya untuk memintasinya, selama saya secara manual mengunci mesin saya ketika menjauh dari meja saya. Lebih lanjut, saya tidak memiliki kode sumber untuk Kafein, jadi saya tidak dapat mengubahnya.
Jonathan Landrum
Mengapa itu tidak hanya mensimulasikan acara yang Anda dapatkan ketika Anda mengetuk touchpad ketika mengetuk tidak diaktifkan, tetapi masih memfokuskan jendela Anda selesai - tetapi melalui jendela saat ini sehingga tidak melakukan apa-apa?
Random832
@ Random832 itu pertanyaan yang bagus; Saya tidak menulis program, jadi saya tidak tahu logika di balik memilih <F15>selain apa yang diposting di situs.
Jonathan Landrum

Jawaban:

20

Anda dapat memetakan kunci untuk <nop>(kependekan dari "tidak ada operasi") untuk membuatnya "tidak melakukan apa-apa".

Ini seharusnya membuat Vim mengabaikan <F15>kunci di semua mode:

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

Ini mungkin akan memperbaiki masalah Anda, tetapi saya belum mengujinya dalam situasi spesifik Anda, karena saya tidak memiliki berbagai mesin Windows / OSX dengan Caffeine yang terpasang stand by :-)

Martin Tournoij
sumber
Sepertinya itu berhasil! Terima kasih untuk bantuannya.
Jonathan Landrum
1
Perlu dicatat bahwa kunci mati mungkin seperti <f15>sering digunakan ketika Memetakan kode kunci cepat di terminal Vim . Contoh plugin yang melakukan hal seperti itu adalah rsi.vim .
Peter Rincker