Використання vim та кофеїну на одній машині


12

Фон

Я працюю в дослідницькій лабораторії і щодня використовую три різні ОС. На машинах Windows і Mac я використовую кофеїн, щоб уберегти заставки, не працюючи на іншій машині (у Linux немає цієї проблеми). Дуже прикро, коли я перемикаюся назад, потрібно знову входити в систему.

Проблема

Коли vim або gvim перебувають у режимі вставки, символ <F15>спорадично з'являється в документі. Я відслідкував це до кофеїну після невеликих досліджень. На веб-сайті для кофеїну зазначено, що програмне забезпечення працює, періодично моделюючи <F15>ключову прес-подію:

З усіх доступних натискань клавіш F15, мабуть, найменш нав'язливий (я ніколи не бачив клавіатури ПК із цією клавішею!), І, найменше, може заважати вашій роботі.

Тож кофеїн - очевидний винуватець. Однак я все-таки вважаю за краще використовувати свій улюблений текстовий редактор на всіх трьох машинах, і не збираюсь змінювати це лише для використання кофеїну.

Питання

Чи є щось, що я можу вкласти в своє, vimrcщоб заставити vim ігнорувати <F15>ключові події у пресі?


Редагувати для наочності

Я не можу вимкнути затримку заставки; її встановлює відділ ІТ з метою безпеки. Отож, для вирішення проблем з кофеїном, щоб залишатися сумісними, мені доводиться вручну блокувати свої машини, коли я відступаю від свого робочого столу. Це не так вже й погано; але розблокувати їх кожні кілька хвилин - це.

Крім того, я не писав кофеїн, тому не знаю, чому розробник вирішив натиснути <F15>раз на хвилину. Я, мабуть, зробив би це інакше, можливо, легким рухом миші або торкніться сенсорної панелі, як @ Random832 запропонував.


4
Чому б просто не відключити заставки / тайм-аут-блокування на цих машинах? Це було б набагато більш чистим рішенням, ніж налаштувати vim на обхід дивної поведінки кофеїну. Або принаймні змусити кофеїн імітувати щось на зразок <Ctrl>замість <F15>.
Руслан

1
@Ruslan Сенс використання <F15>полягає в тому, що це дуже рідко щось означає і, як правило, ігнорується; <Ctrl>однак це має сенс, і коли спрацьовування в неправильний час може спричинити ненавмисну ​​поведінку.
Кайл Странд

@ Руслан ОС налаштований ІТ-відділом для блокування після періоду бездіяльності; Запуск кофеїну дозволяє мені обійти це рішення, поки я вручну замикаю машини, коли відступаю від свого робочого столу. Крім того, у мене немає вихідного кодексу для кофеїну, тому я не можу його змінити.
Джонатан Ландрум

Чому він просто не імітує ту подію, яку ви отримуєте, коли торкаєтесь сенсорної панелі, коли натискання не ввімкнено, але вона все ще фокусує вікно, над яким ви закінчились, але над поточним вікном, щоб нічого не робити?
Випадково832

@ Random832, це гарне питання; Я не написав програму, тому не знаю логіки вибору <F15>іншого, ніж те, що розміщено на сайті.
Джонатан Ландрум

Відповіді:


20

Ви можете зіставити ключ <nop>(короткий варіант "без операції"), щоб зробити його "нічого не робити".

Це повинно змусити Vim ігнорувати <F15>ключ у всіх режимах:

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

Це, ймовірно, виправить вашу проблему, але я не перевіряв її у вашій конкретній ситуації, оскільки у мене немає різних машин Windows / OSX з встановленим кофеїном :-)


Схоже, це і вдалося! Дякую за твою допомогу.
Джонатан Ландрум

1
Слід зазначити, що імовірно мертві клавіші, як <f15>, наприклад , часто використовуються під час складання швидких клавішних кодів у терміналі Vim . Приклад плагіна, який робить таке, - rsi.vim .
Пітер Рінкер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.