2010-10-14 7 views
4

In vim, vip sélectionne "inner paragraph": aidez v_ip, cependant il est d'utilisation limitée.vim select paragraph - comment redéfinir les limites d'un paragraphe?

La limite de paragraphe vim est codée en dur, un paragraphe est séparé par 2 lignes vides ou plus. : aide paragraphe

Certains marcos archaïques comme .IP, semblent également être pris en charge en tant que séparateurs de paragraphe, mais il est tout codé en dur.

Je veux spécifier mes propres séparateurs de paragraphe pour facilement sélectionner des paragraphes de texte dans vim.

Comme perl en mode paragraphe en utilisant un séparateur regexp.

je tenté de mettre les paragraphes à délimiter par des lignes blanches ou accolades: : set paragraphe + = {cpoptions + = { , mais ne fonctionne pas comme documenté, accolades sont ignorés par la commande de sélection « vip ».

La solution que je veux devrait fonctionner pour tous les paragraphes commandes comme vip, vap, dip, dap, {,}.

+1

Je ne pense pas que vim supporte actuellement ce que vous voulez, y a-t-il une raison pour laquelle vous ne voulez pas utiliser 'i {'? –

Répondre

0

Je ne sais pas si c'est une option pour vous, mais vous pouvez modifier la délimitation de paragraphe d'une certaine manière en incluant le drapeau 'w' dans 'formatoptions'. Consultez l'aide pour 'fo-table' pour en savoir plus. Fondamentalement, cela fait en sorte que les lignes qui se terminent dans un espace ressemblent à des «retours souples» et les lignes se terminant par un caractère non-espace marquent la fin des paragraphes. Les lignes vides ne sont pas du tout des marqueurs dans ce cas. Le drapeau de la formation 'w' fonctionne avec tout vip, vap, etc., si je me souviens bien.

Si cela ne vous convient pas, alors je vous suggère de remapper les séquences vip, vap, etc. pour créer votre propre fonction. De cette façon, vous pouvez le configurer pour sélectionner les choses exactement comme vous le souhaitez.

0

Notez comment vous pouvez mapper les opérateurs, de sorte que vous n'aurez pas à remapper vip ou VAP (vous pouvez mapper aH à votre opération de mouvement - et tous les travaux suivants en utilisant comme par magie vos sélections:

daH 
vaHy 
d2aH 

etc