Vim Démarque De Pliage?
Je viens de réaliser que VIM 7.3 a un support intégré pour la mise en évidence des Réductions de fichiers. Excellent. Cependant, il ne plie pas sur les en-têtes.
Peut offrir des suggestions sur la façon d'obtenir ce travail?
Sinon, je suis en utilisant Markdown seulement comme un moyen d'obtenir du simple texte structuré. Si il y a un autre format, veuillez suggèrent également. Mais pas sûr que je creuse TVO ou VimOutliner.
- Cette Vimcast juste diffusé cette semaine. vimcasts.org/episodes/writing-a-custom-fold-expression
Vous devez vous connecter pour publier un commentaire.
J'ai eu la même question, et joué un peu avec Jander la solution sympa. Le seul problème est que par la définition de pliage à l'aide de la syntaxe, vous perdez tout Démarque de la syntaxe.
Étant donné que vous pourriez être intéressé dans d'autres marques, je conseille reStructuredText, et la incroyable Vst vim extension. Il n'pliage très bien. Tvd est beaucoup plus puissant que le Markdown.
Lorsque j'utilise markdown je n'utilise que le hachage de style rubriques de l'espace séparant les hachages et le texte.
Cela rend le pliage tâche beaucoup plus simple.
Je suis assez nouveau dans Vim, il faut donc utiliser la suite à vos propres risques.
J'ai ajouté le code suivant à mon vimrc et elle se plie en-têtes basés sur le nombre de tables de hachage, et il conserve la syntaxe de la coloration.
function MarkdownLevel() let h = matchstr(getline(v:lnum), '^#\+') if empty(h) return "=" else return ">" . len(h) endif endfunction
, qui je post smooshed en une seule ligne parce que c'est un commentaire.Il y a un vim-markdown plugin à https://github.com/plasticboy/vim-markdown .
Le code en matière de pliage à partir de là semble être:
Voici un essai à un appel récursif à en-tête de pliage de la règle. Il ne comprend pas le style de soulignement de Markdown-tête, mais je devine que ce serait gênant pour vos fins de toute façon.
Mettez le code suivant dans votre .vimrc:
Vous pouvez activer markdown pliage fonctionnalité en ajoutant ceci dans votre
.vimrc
si vous utilisez la dernière version de Vim - pas besoin d'être la dernière, mais je ne sais pas la version exacte.Pour une raison quelconque, il n'est pas documentée dans le fichier README mais vous pouvez trouver le code correspondant dans le référentiel.
Pour info, si vous ne voulez pas les sections fermées lorsque vous ouvrez un fichier, reportez-vous à ce fil. Je pense que l'ajout de ce qui serait la meilleure façon, mais vous pouvez avoir une autre préférence.
Il est
une applicationun plugin pour ça sur GitHub.vim-markdown-pliage
Lorsque vous modifiez des fichiers Markdown avec Vim, vous avez probablement vous aussi souhaitez installer Tim du Pape Markdown plugin.
vim-markdown
La seule façon que je reçois de pliage de travailler en markdown, a été pas très élégant,
:set fdm=marker
et utiliser de l'html balise de commentaireplus d'aide
:help folding
Je devine que vous ne regardez pas VimCasts. Le gars qui fait qui fait un pugin, pour cela il suffit. Ici, il est: https://github.com/nelstrom/vim-markdown-folding
Basé sur Jeromy & Omar suggestions, je suis arrivé à ça (pour mon vimrc) automatiquement et sans ambiguïté plier mon DokuWiki fichiers (en ce qui haut niveau de l'en-tête est marquée par l' ====== en début de ligne, en bas de quatrième niveau en-tête marquée par ===):
'^=+' signifie match depuis le début de la ligne de n'importe quel nombre de contiguë '='s
Puis ce dans un vim modeline fait que cela fonctionne bien pour un DokuWiki fichier:
Et pour Markdown, j'ai besoin de l'écrire Omar code comme ceci:
return ">" . 7 - j
?let k = 7 - len(j)
, puisreturn ">".k
, mais pour une raison que je ne pouvais pas le faire fonctionner, et maintenant, je préfère mes plus la solution, car il déclenche uniquement pour les valeurs dej
entre 3 et 6, qui est tout ce que je veux.let
truc, j'ai juste utilisé pour un problème similaire.VOoM : Vim deux volet outliner vaut la peine de le vérifier.
Non seulement il fournit de base de pliage, mais il fournit également le contour de navigation par l'intermédiaire d'un 2e plan d'affichage volet (similaire à l'explorateur de document MS Word). Et il prend en charge un grand nombre de langages de balisage, y compris d'autres l'ont mentionné dans d'autres réponses - Markdown, viki, reStructuredText, vimwiki, org, et beaucoup d'autres.
Pour plus d'info voir les captures d'écran et la page d'aide.
De Vim 8 il est inclus par défaut (par l'intermédiaire de Tim du Pape markdown plugin). Il suffit d'ajouter ce pour .vimrc:
À assurez-vous que vous avez ce plugin chargé, vous pouvez exécuter
et de regarder pour
:showscripts
fonctionne pour n'importe qui d'autre, mais j'ai dû utiliser:scriptnames
à la liste des plugins installés.