Fonction de repli dans vim

y a-t-il un moyen ou des outils pour plier la fonction dans vim, comme Visual Studio ou Eclipse?

32
demandé sur Tim Cooper 2010-03-02 15:03:13

5 réponses

    Vim folding commands
---------------------------------
zf#j creates a fold from the cursor down # lines.
zf/ string creates a fold from the cursor to string .
zj moves the cursor to the next fold.
zk moves the cursor to the previous fold.
za toggle a fold at the cursor.
zo opens a fold at the cursor.
zO opens all folds at the cursor.
zc closes a fold under cursor. 
zm increases the foldlevel by one.
zM closes all open folds.
zr decreases the foldlevel by one.
zR decreases the foldlevel to zero -- all folds will be open.
zd deletes the fold at the cursor.
zE deletes all folds.
[z move to start of open fold.
]z move to end of open fold.

Source: vim docs.

88
répondu codaddict 2014-06-17 13:05:18

Oui. VIM dispose de capacités de pliage exceptionnelles. Je n'aime pas apprendre trop de contrôles, je préfère l'automatisation, c'est ce que j'utilise personnellement:

Dans mon .vimrc:

set foldmethod=indent
set foldlevel=1
set foldclose=all

cela replie automatiquement les fichiers que vous ouvrez, basé sur l'indentation, pour tout ce qui est indenté pour plus d'un niveau. L'option foldclose permet de refermer automatiquement le pli après que j'ai quitté le pli.

contrôles dans le fichier:

zo - opens folds
zc - closes fold
zm - increases auto fold depth
zr - reduces auto fold depth

Et si jamais vous en avez agacé par les plis, utilisez

: set foldmethod=syntax

ou appuyez sur:

zR

pour les faire disparaître.

30
répondu bhekman 2014-05-01 19:13:36
:set foldmethod=syntax

devrait plier toutes les fonctions et autres blocs automatiquement, si vous avez un fichier de syntaxe pour votre langue.

11
répondu Paul 2010-03-02 12:11:14

Vim a un excellent support de pliage. Il y a une bonne documentation dans le système d'aide vim. Il suffit d'ouvrir vim et faire

:help usr_28.txt 

après avoir lu que vous pouvez aussi lire

:help folding

pour plus d'information.

3
répondu Neg_EV 2018-05-13 15:32:52

oui, il est lié à la touche' z', par exemple zO ouvre tous les plis. voir": aide plier " dans vim pour plus d'informations. Vous pouvez faire de pliage selon des règles très simples, comme l'indentation, ou selon la syntaxe du code.

2
répondu Bullet Tooth Tony 2010-03-02 12:04:29