Domanda

In vim, io uso Ctrl + N per parola intera, mentre in modalità di inserimento. Se v'è più di un possibile match, ottengo un menu a discesa da cui posso selezionare una delle possibili corrispondenze utilizzando i tasti freccia.

Tuttavia, non voglio usare i tasti freccia; Voglio utilizzare il 'j' e le chiavi di 'k'. Ma quando si digita 'j' o 'k', inserisce le lettere invece di andare verso l'alto o verso il basso nel menu a discesa. C'è un modo posso configurare vim per fare questo il modo in cui voglio?

È stato utile?

Soluzione

:h href="http://vimdoc.sourceforge.net/htmldoc/insert.html#popupmenu-keys" rel="nofollow noreferrer"> popupmenu-keys .

Non v'è alcuna speciale serie di mappature per il sub-modalità di menu a comparsa, ma si può fare una mappatura inserto in modalità condizionale:

inoremap <expr> j pumvisible() ? "\<C-N>" : "j"
inoremap <expr> k pumvisible() ? "\<C-P>" : "k"

Questo rende j / k navigare il menu a comparsa come <C-N> / <C-P>, mentre è visibile.

Addendum: Se si vuole essere in grado di tenere sotto controllo durante la digitazione j e k, è possibile sostituirli con rispettivamente <C-J> e <C-K>,. (Vedi il commento di mwcz a questa risposta.)

Altri suggerimenti

Non so di un modo per farlo con j, k. Sei in modalità di inserimento, non funzionano.

Ma, ho un altro modo per voi, Ctrl + N funziona come scheda, ed è possibile utilizzare Maiusc - Tab per andare in fondo alla lista e Tab per salire. E 'più facile che usare i tasti freccia. Ma non bello come j, k sarebbe.

Oppure si può semplicemente usare Ctrl + N e Ctrl + P

SuperTab (http://www.vim.org/scripts/script.php?script_id=1643) può aiutare. Una volta installato, è possibile utilizzare Tab e Tab-Shift per navigare nel menu pop-up.

Vedere questo documento anche: http://vim.wikia.com/wiki/Omni_completion_popup_menu

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top