Отображение Caps Lock только в vim?

Я действительно хотел бы иметь возможность сопоставить ключ Caps Lock с Ctrl, но только в vim. Я видел это, но я использую OS X. Есть ли альтернатива AutoHotKey для OS X или есть другой способ создать привязку для конкретного приложения для ключа-модификатора?


person Adam Incera    schedule 27.08.2014    source источник
comment
Этот ответ, кажется, делает то, что вы хотите?   -  person Martin Tournoij    schedule 27.08.2014
comment
Только что понял, что на самом деле я определенно хотел бы сопоставить его с Ctrl, и отредактировал свой вопрос. @Carpetsmoker Я попробовал Seil (текущая версия PCKeyboardHack), и мне кажется, что у него нет никакого способа создавать сопоставления для конкретных приложений.   -  person Adam Incera    schedule 27.08.2014
comment
Терминал vim или macvim. Вероятно, это проще сделать в macvim, чем в Terminal vim. (Вероятно, почти невозможно, чтобы он хорошо себя вел с терминалом vim)   -  person FDinoff    schedule 27.08.2014
comment
@FDinoff О боже. Я надеялся на Terminal vim ... если бы я мог создать привязку к конкретному приложению для всего Терминала, сработало бы это? Меня бы это устроило.   -  person Adam Incera    schedule 28.08.2014


Ответы (1)


Это изменит режим Caps Lock на управление в Терминале. Я не верю, что есть хороший способ узнать, когда в Терминале запущен vim.

  1. Загрузите и установите Seil и Karabiner
  2. Откройте Seil и измените Caps Lock на код 110 (ключ приложения ПК) Caps Lock на код 110
  3. Откройте Karabiner и отредактируйте private.xml (Разное и удаление (вкладка) -> Открыть частный XML (кнопка)). Добавьте следующее между корневыми элементами.

    <name>Change PC Application Key to CONTROL (Menu Key in TERMINAL)</name>
    <item>
        <only>TERMINAL</only>
        <name>Change PC Application Key to CONTROL (Menu Key in TERMINAL)</name>
        <identifier>remap.termianl_application2control</identifier>
        <autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::CONTROL_L</autogen>
    </item>
    
    <name>Change PC Application Key to CAPSLOCK</name>
    <item>
        <name>Change PC Application Key to CAPSLOCK</name>
        <identifier>remap.other_application2capslock</identifier>
        <autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::CAPSLOCK</autogen>
    </item>
    
  4. Нажмите "Обновить XML" на вкладке "Изменить ключ".

  5. Отметьте следующие элементы (они должны появиться вверху поля) Enable capslock

На этом этапе вы должны иметь возможность использовать caps lock как элемент управления в терминале (и iterm2) и caps lock как caps lock где угодно. Предостережение: если вы войдете в терминал при включенном Caps Lock, вы не сможете его отключить.

(Возможно, вам потребуется установить для CapsLock значение «Нет действий» в Системных настройках -> Клавиатура -> Клавиши-модификаторы)


Если вы хотите, чтобы это работало и в MacVim, измените

<only>TERMINAL</only>

to

<only>TERMINAL, VI</only>
person FDinoff    schedule 27.08.2014
comment
Большое спасибо! Это именно то, что мне нужно. Потрясающий. - person Adam Incera; 28.08.2014
comment
также индикатор Capslock больше не будет гореть, так как это будет обрабатываться Seil/Karabiner! - person Paschalis; 06.04.2016