2014-01-18 9 views
0

У меня есть Vim EasyMotion работает, нажав:Карта обратной косой черты в VIM

Backslash Backslash <key> 

Я хочу, чтобы отобразить это как Ctrl+,, так что я могу сделать Ctrl+, <key>:

map <C-,> <Bslash><Bslash> 
map <C-,> \\ 

Но ни один из них не работал. Как-то избежать обратной косой черты?

ответ

4

TL; 0: <C-,> не будет работать; выберите другую комбинацию клавиш.

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

Некоторые люди (прежде всего Пол ЛевНерд Эванс) хотят исправить это (даже для консоли Vim в терминалах, которые поддерживают это), и предложили различные предложения, ср. http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

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

2

Согласно :help map_backslash, вы имеете право использовать <Bslash>. Проблема в том, что vim, похоже, не распознает <C-,> в команде :map. Например,

:map <C-,> :echo 'foo'<CR> 

не имеет ожидаемого эффекта. Или загляните в это дальше или выберите другой ключ.

+0

FWIW Мне удалось получить следующую привязку к работе: 'noremap : NERDTreeToggle '. –

Смежные вопросы