Existe-t-il un moyen de déplier le code lorsque vous accédez à un numéro de ligne? Par exemple je tape :35
où la ligne 35 est pliée, alors je dois déplier cette section manuellement pour arriver à cette ligne. Je voudrais taper :35
et avoir ce code déplié automatiquement et mon curseur mis sur la ligne 35 sans autres appuis sur les touches.Développer automatiquement le pli lorsque vous passez à un numéro de ligne
6
A
Répondre
7
Si vous utilisez la commande 35G
au lieu de :35
, vous pouvez y parvenir avec le mappage suivant:
"[count]G Also open fold under cursor when supplying [count] (i.e.
" jumping to a particular line, not the end of the
" buffer). Use [count]|gg| if you don't want this.
nnoremap <expr> G (v:count ? 'Gzv' : 'G')
Pour :35
lui-même, ce serait difficile à réaliser. Vous devez intercepter le <CR>
via un , vérifier la commande tapée via getcmdtype()
et getcmdline()
, et, s'il s'agit d'un nombre, manipuler la commande, c'est-à-dire ajouter normal! zv
; comme ceci:
cmap <expr> <CR> getcmdtype() == ':' && getcmdline() =~ '^\d\+$' ? 'normal! zv<CR>' : '<CR>'
2
zv. De :help zv
:
View cursor line: Open just enough folds to make the line in
which the cursor is located not folded.
Bien que cette commande pourrait probablement être déclenché automatiquement en quelque sorte, je ne l'ai pas rencontré encore. Utiliser la commande telle quelle m'a bien servi, cependant.
0
Définissez un nouveau mappage de commande. Dans cet exemple, j'ai choisi \gz:
:nmap \gz gg<Bar>zO
Questions connexes
- 1. Masquer le clavier lorsque vous passez à une autre vue
- 2. Développer un UITextView lorsque vous cliquez dessus?
- 3. Développer un treeViewItem automatiquement
- 4. Comment passer automatiquement l'extension à un numéro Twilio lorsque vous appelez depuis un téléphone ordinaire?
- 5. Déterminez le numéro de ligne lorsque vous cliquez sur le bouton dans cette ligne.
- 6. Comment passez-vous la première ligne lorsque vous copiez des fichiers CSV dans l'invite de commande?
- 7. Masquer le texte alternatif lorsque vous passez la souris
- 8. Fenêtre contextuelle lorsque vous passez la souris sur un div
- 9. Quelles caractéristiques vous manquent le plus lorsque vous passez d'IntelliJ à XCode?
- 10. Dans jqgrid, lorsque vous passez la souris sur un en-tête de colonne, l'en-tête de colonne va se développer?
- 11. Développer UIButton lorsque vous touchez l'iPhone
- 12. Lorsque vous passez une fonction de rappel, pouvez-vous définir un paramètre?
- 13. Réduire le délai lorsque vous passez la souris sur le panneau/les barres d'outils Masquer automatiquement dans Visual Studio '08
- 14. Comment passez-vous les arguments de ligne de commande à un programme déjà ouvert dans QT?
- 15. Le flot est tronqué lorsque vous passez d'une méthode à l'autre (problème de typage?)
- 16. Quel est le déclencheur de style lorsque vous passez la souris sur un bouton dans WPF?
- 17. Comment passez-vous un message d'un programme à un autre?
- 18. Trois images d'arrière-plan avec CSS2 - ne pas afficher sous le pli lorsque vous faites défiler
- 19. ferme automatiquement le fichier de commandes lorsque vous avez terminé
- 20. Comment vous passez une erreur de validation à un modèle
- 21. Audio lorsque vous passez la souris sur une image
- 22. Les liens hypertextes disparaissent lorsque vous passez la souris
- 23. Afficher B lorsque vous survolez A et cachez B lorsque vous passez la souris sur C?
- 24. HTML Sous-menu disparaissant lorsque vous passez la souris dessus
- 25. L'application se bloque lorsque vous passez au ViewController précédent
- 26. Recherche de la première ligne du pli Vim actuel
- 27. Comment passez-vous deux arguments à webpack?
- 28. Retrait du texte de pli
- 29. Comment passez-vous les arguments à define_method?
- 30. Les images se déplacent vers le centre lorsque vous passez à une autre vue
Combiner cela dans ': au CursorMoved *: normal zv' devrait faire l'affaire. – MaienM
@MailenM: Cela ouvrira tout repli que vous déplacerez, même si vous vous déplacez avec 'j' /' k' - je doute que ce soit utile. –