web-dev-qa-db-fra.com

Fonction de pliage dans vim

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

51
Yongwei Xing
    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: documents vim.

101
codaddict

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

Dans mon .vimrc:

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

Cela plie automatiquement les fichiers que vous ouvrez, en fonction du retrait, pour tout ce qui est en retrait pour plus d'un niveau. L'option foldclose fait que le pli se referme automatiquement une fois que je suis sorti du 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 vous ennuyez avec les plis, utilisez

: set foldmethod=syntax

ou appuyez sur:

zR

pour les faire tous disparaître.

51
bhekman
:set foldmethod=syntax

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

15
Paul

Vim a un excellent support pliable. Il existe une bonne documentation dans le système d'aide de vim. Ouvrez vim et faites

:help usr_28.txt 

Après avoir lu, vous pouvez également lire

:help folding

pour plus d'informations.

3
Neg_EV

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

2