Карта Shift + F3 в .vimrc

13

При использовании 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>

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

Trendfischer
источник

Ответы:

14

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

Инго Каркат
источник
Эта ссылка была очень полезной, я даже не ожидал такой проблемы. Хотя это не тот ответ, который я хотел прочитать, на мой взгляд, это правильный ответ. И следуя совету с быстрыми кодами клавиш, я мог бы сопоставить комбинацию клавиш по желанию.
Trendfischer
6

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

livibetter
источник
Да, это ответ, который я хотел получить, но это не сработало. Вам нужно: установить, чтобы сделать это в терминале для работы.
Trendfischer