2013-04-24 3 views
0

Я пытаюсь переназначить оператор * в VIM. Я пробовал nnoremap <*> и nnoremap <S-8> безрезультатно. Я не смог найти никаких инструкций о том, как правильно это сделать. Как я могу переадресовать мои *, или любые цифровые клавиши или специальные клавиши?Как переназначить числовые клавиши и специальные клавиши в VIM

Поскольку многие из вас, без сомнения, зададут себе вопрос, почему кто-то захочет это сделать, так я могу заставить свой * оператор вести себя как обычно, за исключением того, что он автоматически не переходит к следующему вхождению слова под курсором (см. Раздел Highlight Matches Without Moving).

EDIT:

Полная команда Я работаю с такой:

nnoremap <*> :let @/='\<<C-R>=expand("<cword>")<CR>\>'<CR>:set hls<CR>

Где * перераспределяет функциональность * или <shift + 8>

ответ

1

Уход за < и > работает для меня.

nnoremap * :let @/='\<<C-R>=expand("<cword>")<CR>\>'<CR>:set hls<CR> 
+0

Вот и все! Спасибо –

+2

@Freedom_Ben Отметьте ': h key-notation'. Все, что не указано там, должно использоваться без окружающих '<…>'. Также обратите внимание, что vim использует байтовую очередь для представления типизированных ключей и никогда не получает ничего подобного 'Shift' +' 8': никогда ничего с модификаторами. '' ключи - это байтовые управляющие символы, лежащие между 0x01 и 0x1F в таблице ASCII, '' '' ... 'и такие вещи, как' 'являются внутренними escape-последовательностями, начиная с 0x80 байт (в терминале они сначала принимаются как что-то вроде ' [11 ~', но затем преобразован). '' дополнительно - 'A'. Вы всегда можете использовать это напрямую. – ZyX

+0

@ZyX, спасибо за удивительное объяснение! Это многое проясняет. Если вы хотите опубликовать его в качестве дополнительного ответа, я проголосую за него. Я думаю, что было бы очень полезно людям, которые будут посещать этот вопрос в будущем. –

-1

Try nnoremap <F7> <*>. Он будет переназначать * с помощью F7

+0

Я попробовал ваше предложение несколькими способами и, похоже, не работал. Можете ли вы представить более полный пример? Я добавил всю свою команду к вопросу. –

+0

Это переназначает '' с тремя символами: '<', '*' и '>'. – ZyX

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

  • Нет связанных вопросов^_^