Есть ли способ сопоставить период Ctrl и запятую Ctrl в Vim? - PullRequest
29 голосов
/ 07 ноября 2011

Я не могу найти способ сопоставить <control> period и <control> comma в Vim. Возможно ли это?

Ответы [ 3 ]

41 голосов
/ 07 ноября 2011

Согласно FAQ похоже, что вам не повезло с <C-.> и <C-,>, так как эта комбинация клавиш отсутствует в списке аккордов Ctrl-printable-key, которые Vim может обнаружение (Vim может отображать только печатаемые аккорды ASCII).

6 голосов
/ 17 января 2015

Из-за того, что ввод с клавиатуры обрабатывается внутри, это, к сожалению, сегодня вообще невозможно, даже в GVIM. Некоторые комбинации клавиш, такие как Ctrl + не алфавитный , не могут быть сопоставлены, и Ctrl + буква против Ctrl + Сдвиг + Буква не может быть распознана. (Если ваш терминал не отправляет отдельный код termcap для него, чего большинство не делает.) В режиме вставки или командной строки попробуйте ввести комбинацию клавиш. Если ничего не происходит / вставлено, вы не можете использовать эту комбинацию клавиш. Это также относится к <Tab> / <C-I>, <CR> / <C-M> / <Esc> / <C-[> и т. Д. (Единственное исключение - <BS> / <C-H>.) Это известная болевая точка, и тема различных дискуссий на vim_dev и IRC-канале #vim.

Некоторые люди (в первую очередь Пол ЛеоНерд Эванс) хотят это исправить (даже для консоли Vim в терминалах, которые поддерживают это) и предлагают различные предложения .

Но на сегодняшний день никаких патчей или добровольцев еще не появилось, хотя многие выразили желание иметь это в будущем основном выпуске Vim 8.

0 голосов
/ 10 июня 2014

Не будь таким пессимистичным в создании ярлыка.Есть внешние варианты.Попробуйте следующий код в AutoHotKey.[Все, что вам нужно, это скачать и установить AHK и запустить следующий код в виде скрипта.]

#IfWinActive ahk_class Vim
^+!left:: send :s/{^}/`%/g{Enter}{$}o{enter} ; This is for commenting in tex files. you may change `% to be other symbles. 
^,:: send ^ww
+^,:: send ^wW

Надеюсь, это поможет вам решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...