Comment puis-je activer et faire le pliage de code dans Vim?
Dois-je changer quelque chose ~/.vimrc
?
Je tape z+ aet z+ cet z+ oet rien ne se passe.
Voici un article sur le pliage: Le pliage de code dans Vim .
Comment puis-je activer et faire le pliage de code dans Vim?
Dois-je changer quelque chose ~/.vimrc
?
Je tape z+ aet z+ cet z+ oet rien ne se passe.
Voici un article sur le pliage: Le pliage de code dans Vim .
Réponses:
Non , vous ne devez pas mettre la commande de la page que vous avez lié dans votre ~/.vimrc
, vous pouvez simplement les taper après l' émission :
dans vim
pour obtenir l'invite de commande.
Cependant si vous mettez les lignes:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
comme indiqué dans le lien que vous avez indiqué ~/.vimrc
, vous ne devez pas les taper à chaque fois que vous souhaitez utiliser le pliage dans un fichier. Le set nofoldenable
fait en sorte que lors de l'ouverture, les fichiers sont "normaux", c'est-à-dire non pliés.
:
. Vous tapez les set
commandes après l'invite que vous obtenez lorsque vous tapez :
. Le zc
vous tapez lorsque vous pouvez vous déplacer librement le curseur, comme vous utiliseriez zt
pour obtenir le texte le curseur se trouve sur le haut de l'écran actuel.
La méthode de pliage par défaut de Vim manual
signifie que les plis sont créés manuellement. autrement, on se replient pas à fermer ou ouvert à l' aide za, zoou zcque vous avez décrit. Cependant, vous pouvez créer un repli zf{motion}
en mode normal ou zfen mode visuel . par exemple, zfjcrée un pli pour la ligne courante et la suivante en mode normal .
indent
La réponse acceptée, par @Anthon, décrit comment définir la méthode de repliement sur indent
; c'est-à-dire que le repliement est défini par le niveau d'indentation.
syntax
De manière plus pratique, des plis peuvent être créés automatiquement en fonction de la syntaxe de langage du tampon actuel. Si vous utilisez un langage de programmation, appelons-le L et vous avez la définition de pliage de L (par exemple, vous avez installé un plugin Vim dans lequel les informations de pliage de L sont définies; comme c.vim pour C / C ++ ou python. -mode for Python), il vous suffit de définir la méthode de pliage sur syntax
:
set foldmethod=syntax
C'est ça. Les commandes les plus utiles pour travailler avec les plis sont:
foldlevel
par un.foldlevel
par un.foldlevel
à zéro - tous les plis seront ouverts.Vous n'avez pas à l'utiliser systématiquement: je sélectionne généralement manuellement les plis en fonction du mouvement ou de la section. Par exemple, replier un paragraphe correspond zfip
aux 20 lignes suivantes zf20j
. Utilisez za
pour basculer et zd
supprimer.
Cela nécessite un peu plus de travail mais permet à votre pliage de refléter la tâche à accomplir.
Vous pouvez activer folding
la session en cours comme la réponse de @ Anthon. Mais si vous voulez le rendre permanent, vous devez définir au moins cette ligne dans le .vimrc
travail de pliage:
set foldmethod=indent
indent
est une sorte de pliage, vous pouvez voir plus de :help foldmethod
'foldmethod' 'fdm' string (default: "manual")
local to window
{not in Vi}
{not available when compiled without the +folding
feature}
The kind of folding used for the current window. Possible values:
fold-manual manual Folds are created manually.
fold-indent indent Lines with equal indent form a fold.
fold-expr expr 'foldexpr' gives the fold level of a line.
fold-marker marker Markers are used to specify folds.
fold-syntax syntax Syntax highlighting items specify folds.
fold-diff diff Fold text that is not changed.
Maintenant, chaque fois que vous ouvrez un fichier avec vim
, vous pouvez voir que le code est plié par la méthode que vous avez définie. Ensuite , vous pouvez utiliser za
, zc
, zo
.