Mi piacerebbe avere una chiave leader sinistra e destra. Se voglio che sia il valore predefinito \
e ,
siano i miei leader, ho pensato che sarebbe stato semplice come aggiungere nnoremap , \
o nnoremap , <leader>
al mio .vimrc
. Ma apparentemente no. Come faccio a fare questo?Come mappare più chiavi <leader> in vim?
risposta
mio <leader>
è destinata a ,
e questo funziona per me:
:nmap \ ,
Tutto delle mappature dei miei leader sono ora disponibili utilizzando \
o ,
come leader. Penso che sia lo nnoremap
a farti inciampare.
sì, grazie. Mi stavo davvero grattando la testa. –
Potresti modificare la tua risposta e farla dipendere dal tuo attuale mapping leader, per [email protected] suggerito: nmamp \
Come funziona esattamente? Vim, quando incontra <leader>
lo sostituisce con la chiave mappata. Se dovessi usare due (chiavi per <leader>
), come farebbe a sapere quale sostituire con <leader>
?
Ciò che si può fare tuttavia è utilizzare <leader>
e <localleader>
ma questo è solo due leader separati, non mappare due chiavi a uno di essi.
Quindi, no ... non è possibile.
Tuttavia è possibile mappare le scorciatoie in modo esplicito.
Le scorciatoie, è quello che sto cercando di definire. Fare qualcosa come '' nnoremap, \ '' non sta girando ',' in '\'. Se lo facesse, sarebbe equivalente al gestore di mappe che mi dà effettivamente due chiavi che fungono da leader. Sto sbagliando? –
@TheDeeno - In un certo senso, si. La prima mappatura 'nnoremap,' dice "ogni volta che premo, sostituisco, con \ e faccio ... qualsiasi cosa". Poi arriva la seconda che dice "ogni volta che premo, sostituisco, con leader e faccio ...". Uno "sovrascrive" l'altro. – Rook
<leader>
è conveniente ma è possibile creare mapping come ,mm
o \mm
senza utilizzarlo. Basta duplicare tutti i tuoi <leader>something
e rimappare con '
e \
direttamente:
nnoremap <leader>d "_d
sarebbe diventato
nnoremap ,d "_d
nnoremap \d "_d
È possibile mappare un tasto direttrice all'altro, come nella risposta accettata, ma se si intende utilizzare <leader>
in primo luogo, è necessario effettuare il binding su <leader>
stesso. In questo modo, il binding funzionerà ancora se si modifica (o si rimuove) la prima chiave leader.
map , <leader>
Si noti che questo ancora non del tutto lavoro come una seconda leader. Se il primo leader non è impostato, il binding funzionerà ancora, ma Vim tornerà a utilizzare come leader il \
, poiché non vi è più un leader "ufficiale" (vale a dire un valore valido per la variabile mapleader
). (Questo non sarebbe un problema per l'OP, ma potrebbe essere per gli altri.)
Questa è la risposta più precisa perché non dipende dalla chiave attualmente in uso. – aturegano
- 1. come mappare le chiavi per il menu popup in vim
- 2. Come mappare (alias?) Un comando in vim
- 3. Come mappare l'opzione Comando/Apple in vim
- 4. Quali chiavi si mappano i comandi <left>, , <up>, <right> in modalità di inserimento VIM?
- 5. Posso mappare il tasto Alt in Vim?
- 6. Come mappare un comando long bash in vim?
- 7. Come mappare <C-/> per commutare i commenti su vim?
- 8. vim CTRL-] chiavi non funzionanti
- 9. Come mappare IDictionary <string, Entity> in Fluent NHibernate
- 10. Come disabilitare backspace ed eliminare le chiavi in Vim?
- 11. Come recuperare più chiavi in Firebase?
- 12. Come raggruppare con più chiavi in scintilla?
- 13. VIM: come aggiungere il comando search/replace a vimrc e mappare a un collegamento
- 14. Mappa con più chiavi in C++
- 15. Esegui comandi <Plug> in vim
- 16. KeyDown: riconoscere più chiavi
- 17. Come mappare una serie di condizioni come le chiavi in un dizionario?
- 18. Mapping <C-j> a qualcosa in Vim
- 19. DataStructure a più chiavi
- 20. Mapping locale del buffer in Vim: <buffer> vs. <localleader>
- 21. ToLookup con più chiavi
- 22. Mappatura di una chiave a più comandi in vim
- 23. Come ordinare per più meta chiavi?
- 24. Come mappare chiavi di valori per un singolo campo in un MySQL query di selezione
- 25. Come mappare in modo approfondito le chiavi dell'oggetto con JavaScript (lodash)?
- 26. Come mappare le chiavi in VsVim ai comandi di Visual Studio?
- 27. Come lavorare con più chiavi ssh
- 28. Come rimuovere più chiavi da una mappa?
- 29. Come creare un NSDictionary con più chiavi?
- 30. Come mappare enum in JNA
Una soluzione alternativa per avere una chiave leader per entrambe le mani: usa lo spazio. L'idea è venuta dai dotfiles di Square, https://github.com/square/maximum-awesome – alxndr