10

Когда я использую vimgrep с lv expr path/** , мне нравится иметь ярлык для навигации по результатам. Поэтому я сопоставил клавишу F3 следующим образом:

nnoremap <F3> :lnext<CR>

Теперь я хотел бы сделать что-то вроде следующего

nnoremap <SHIFT-F3> :lprevious<CR>

Но это не дает желаемого эффекта. Как мне сопоставить F-клавишу с SHIFT?

Обновить:

Решение немного сложное. В терминалах вы не можете просто отобразить Shift+F3. На самом деле необходима дополнительная строка, подобная следующей:

set <S-F3>=^[O1;2R
nnoremap <S-F3> :lprevious<CR>

Но вы не можете скопировать и вставить это, см. Ссылку ниже в правильном ответе.

2 ответа2

9

Вы используете Vim в консоли, а не GVIM, верно? Все, кроме простых функциональных клавиш, проблематично, и его лучше избегать; попробуйте вместо этого использовать префикс типа <Leader> . Если вы действительно этого хотите, вы можете попробовать инструкции на http://vim.wikia.com/wiki/Mapping_fast_keycodes_in_terminal_Vim, чтобы заставить работать функциональные клавиши с модификаторами.

4

Это должно быть <S-F3> не <SHIFT-F3> , см . :help key-notation в Vim.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .