Можно ли сопоставить ключ Windows в Vim?

Использование ключа Windows в качестве мета-версии очень полезно в Emacs, есть ли способ сделать это в Vim?

5 ответов

Вы определенно можете, даже в терминале, хотя вы должны использовать его как мета-ключ (я не нашел способа использовать его самостоятельно).

Отредактируйте ваш файл.vimrc с помощью vim. Скажи, что хочешь переназначить Win+q в обычном режиме, чтобы выйти из Vim. Просто добавьте свое сопоставление и, при попытке указать ярлык, нажмите Ctrl+V, затем Win+q,

Это добавит что-то похожее на ^X@sq в ваш файл (но не вводите его напрямую, ^X это особый характер).

В конце ваша строка должна выглядеть так:

nnoremap ^X@sq :q<CR>

Сохраните и выйдите, снова запустите vim, и все.

Замечания: Ctrl+v в режиме вставки буквально вставляет следующую клавишу / комбинацию клавиш. Для получения дополнительной информации попробуйте :help i_CTRL-V в действ.

Извините за ответ на столь древний вопрос, но решение действительно простое: невозможно использовать ключ Win в терминале, но его можно использовать с Gvim. Просто передайте его как модификатор T. Например,

:nmap <T-F5> :q<cr> 

сопоставит Win+F5 команде:q. Но его можно использовать только под *nix.

Вы можете использовать AutoHotkey для сопоставления ключа Windows с другим ключом. Активируйте отображение только тогда, когда vim активен:

#IfWinActive ahk_class GVIM
RWin::Alt  
LWin::Alt  
#IfWinActive  ; This puts subsequent remappings and hotkeys in effect for all windows.

Ни один из этих ответов (включая этот) не зависит от vim, а выбранный ответ зависит от Windows. Вот один для *nix под управлением X.

Я сопоставляю свой левый ключ Win с клавишей Esc. Это не будет работать в виртуальных терминалах, но работает в X.

Или:
(1) Добавить keysym Super_L = Escape в ~/.Xmodmap и выполнить xmodmap .Xmodmap,
|______(1a) ~ так же, как echo "keysym Super_L = Escape" >> ~/.Xmodmap && xmodmap .Xmodmap,
(2) Выполнить xmodmap -e "keysym Super_L = Escape",

Если вы хотите, чтобы он работал в виртуальных терминалах, см. [0].

РЕКОМЕНДАЦИИ:
[0] http://www.mail-archive.com/screen-users@gnu.org/msg02859.html
[1] http://www.paganini.net/index.cgi/linux/nocaps.html
[2] http://ubuntuforums.org/archive/index.php/t-975229.html

Не совсем уверен, но комбинация клавиш Ctrl+Esc - это комбинация клавиш только для окон. Это не поможет с VIM

Другие вопросы по тегам