Зсув карти + F3 у .vimrc


14

Під час використання 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>

Але ви не можете скопіювати та вставити це, дивіться посилання нижче у правильній відповіді.

Відповіді:


15

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


Це посилання було дуже корисним, я навіть не очікував такої проблеми. Хоча це не відповідь, яку я хотів прочитати, але це правильна відповідь на мою думку. І дотримуючись поради з швидкими кодами клавіш, я міг скласти комбінацію клавіш за бажанням.
Trendfischer

7

Вона повинна бути <S-F3>НЕ <SHIFT-F3>дивіться :help key-notationв Vim.


Так, це відповідь, яку я хотів отримати, але це не вийшло. Вам потрібно: встановити для того, щоб зробити його в терміналі для роботи.
Trendfischer

0

На сьогоднішній день не потрібно встановлювати додаткові клавіші для функціональних клавіш, все що потрібно:

nnoremap <s-f3> :lprevious<cr>

Тестували на NeoVim.

Хтось, будь ласка, спробуйте його на чистому VIM, щоб я міг оновити цю відповідь.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.