2013-07-21 7 views
8

Recentemente ho cambiato i miei tasti freccia per mappare su no-op per costringermi a usare correttamente la navigazione vim. Quando si usa il completamento delle parole in vim appare una lista di possibili completamenti. Ho usato questo per navigare usando i tasti freccia, ma ora devo usare la stessa mappatura dell'iniziazione di completamento per scorrere.In quale modalità si accede vim quando il menu di completamento è attivo?

Quando questo menu si apre, fa permanenza vim in modalità di inserimento, cambiare ad un modo diverso o lo fa entrare in una modalità di inserimento modificato (simile a quello che pasta-ginocchiera non) che può alterare le j e k mappature di muoversi attraverso la lista?

In caso contrario, è possibile aprire e chiudere un metodo sul popup?

+0

È ancora la modalità di inserimento, ma non conosco la risposta alla domanda sui ganci aperti e chiusi –

+0

L'utilizzo di hjkl non è più "corretto" rispetto all'utilizzo delle frecce. Stai concentrando la tua energia sull'obiettivo sbagliato. Ci sono modi migliori per spostarsi rispetto al char-by-char o linea per linea ed è lì che devi concentrare la tua energia. E: aiuto, naturalmente. – romainl

risposta

3

Navigare completamenti tramite <c-p> e <c-n>. Vedere :h ins-completion per ulteriori informazioni.

2

Il menu a comparsa dei candidati per il completamento della modalità di inserimento appartiene alla modalità di inserimento , non è disponibile alcun sottomento speciale. Per differenziare, è necessario utilizzare le espressioni di mappa :inoremap <expr> con una condizione su pumvisible(). Per esempio. rimappare j per selezionare il successivo completamento candidato:

:inoremap <expr> j pumvisible() ? '<C-n>' : 'j' 

Nota che con questo, non sarà in grado di tipo nomi candidati contenenti j di drill-down e selezionare dalla lista (che è particolarmente utile con :set completeopt+=longest).

Problemi correlati