Cambio mappa + F3 in .vimrc


14

Quando utilizzo vimgrep con lv expr path/**, mi piace avere una scorciatoia per navigare nei risultati. Quindi ho mappato la F3chiave come segue:

nnoremap <F3> :lnext<CR>

Ora vorrei fare qualcosa di simile al seguente

nnoremap <SHIFT-F3> :lprevious<CR>

Ma questo non ha l'effetto desiderato. Come posso mappare un tasto F con SHIFT?

Aggiornare:

La soluzione è un po 'difficile Nei terminali non puoi semplicemente mappare Shift+ F3. In effetti è necessaria una riga aggiuntiva come la seguente:

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

Ma non puoi copiarlo e incollarlo, vedi il link qui sotto nella risposta giusta.

Risposte:


15

Stai usando Vim nella console, non GVIM, giusto? Qualunque cosa diversa dai normali tasti funzione è problematica e va evitata al meglio; prova invece a utilizzare un prefisso come <Leader>. Se lo desideri davvero, puoi provare le istruzioni su http://vim.wikia.com/wiki/Mapping_fast_keycodes_in_terminal_Vim per far funzionare i tasti funzione con modificatori.


Quel link è stato molto utile, non mi aspettavo nemmeno un problema come questo. Sebbene non sia la risposta che volevo leggere, secondo me è la risposta giusta. E seguendo i consigli con codici chiave veloci, potrei mappare la combinazione di tasti come desiderato.
Trendfischer,

7

Dovrebbe essere <S-F3>non <SHIFT-F3>vedere :help key-notationin Vim.


Sì, questa è la risposta che volevo avere, ma non ha funzionato in questo modo. È necessario: impostare per farlo funzionare in un terminale.
Trendfischer,

0

Oggi non è necessario impostare codici chiave aggiuntivi per i tasti funzionali, tutto ciò che serve è:

nnoremap <s-f3> :lprevious<cr>

Testato su NeoVim.

Qualcuno per favore provalo su VIM pulito in modo da poter aggiornare questa risposta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.