Я пытаюсь переназначить оператор * в VIM. Я пробовал nnoremap <*>
и nnoremap <S-8>
безрезультатно. Я не смог найти никаких инструкций о том, как правильно это сделать. Как я могу переадресовать мои *, или любые цифровые клавиши или специальные клавиши?Как переназначить числовые клавиши и специальные клавиши в VIM
Поскольку многие из вас, без сомнения, зададут себе вопрос, почему кто-то захочет это сделать, так я могу заставить свой * оператор вести себя как обычно, за исключением того, что он автоматически не переходит к следующему вхождению слова под курсором (см. Раздел Highlight Matches Without Moving).
EDIT:
Полная команда Я работаю с такой:
nnoremap <*> :let @/='\<<C-R>=expand("<cword>")<CR>\>'<CR>:set hls<CR>
Где *
перераспределяет функциональность *
или <shift + 8>
Вот и все! Спасибо –
@Freedom_Ben Отметьте ': h key-notation'. Все, что не указано там, должно использоваться без окружающих '<…>'. Также обратите внимание, что vim использует байтовую очередь для представления типизированных ключей и никогда не получает ничего подобного 'Shift' +' 8': никогда ничего с модификаторами. '' ключи - это байтовые управляющие символы, лежащие между 0x01 и 0x1F в таблице ASCII, '' '' ... 'и такие вещи, как' 'являются внутренними escape-последовательностями, начиная с 0x80 байт (в терминале они сначала принимаются как что-то вроде ' [11 ~', но затем преобразован). '' дополнительно - 'A'. Вы всегда можете использовать это напрямую. –
ZyX
@ZyX, спасибо за удивительное объяснение! Это многое проясняет. Если вы хотите опубликовать его в качестве дополнительного ответа, я проголосую за него. Я думаю, что было бы очень полезно людям, которые будут посещать этот вопрос в будущем. –