Можно ли сопоставить ключ 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