Puis-je ajouter un délimiteur de paragraphe personnalisé?

8

Les paragraphes sont délimités par des lignes vides, à la fois dans vim et tex, mais parfois je souhaite que vim traite une entité comme un paragraphe et non comme tex. Puis-je, par exemple, faire en sorte que vim traite les lignes contenant uniquement un "%" comme délimiteur de paragraphe?

Toothrot
la source
1
Voir ma réponse à une question similaire ici: vi.stackexchange.com/a/6043/4932 consultez également ce plugin: github.com/vim-scripts/Improved-paragraph-motion
fruglemonkey
1
Le plugin a l'air très intéressant, mais j'ai eu une erreur lors du chargement:Error detected while processing /Users/lawrence/.vim/plugged/Improved-paragraph-motion/plugin/ipmotion.vim: line 50: E492: Not an editor command: ^M line 51: E15: Invalid expression: exists('g:loaded_ipmotion')^M line 145: E171: Missing :endif
Toothrot
1
@fruglemonkey, pour autant que je peux comprendre l'erreur était dans le plugin. les messages d'erreur ont disparu après :set ff=unix.
Toothrot
2
Le plugin affecte uniquement les mouvements} et {, pas les objets texte.
Toothrot
1
Oui, mais vous pouvez sinon créer des mappages qui lui permettront de se comporter «comme» un objet texte. Pourquoi voulez-vous un délimiteur de paragraphe personnalisé? Quelle action souhaitez-vous effectuer qui en exigerait une?
fruglemonkey

Réponses:

2

Vous ne pouvez pas faire nativement %un delimiter pagraph, comme les macros de paragraphe sont des macros nroff (un point, deux caractères: .xx)

Cependant, vous pouvez ajouter .%%(ou toute autre combinaison que vous souhaitez) comme délimiteur de paragraphe en l'ajoutant, faites l' paragraphsoption:

:set paragraphs=IPLPPPQPP\ TPHPLIPpLpItpplpipbp%%

Voir :help paragraph::

A paragraph begins after each empty line, and also at each of a set of
paragraph macros, specified by the pairs of characters in the 'paragraphs'
option.  The default is "IPLPPPQPP TPHPLIPpLpItpplpipbp", which corresponds to
the macros ".IP", ".LP", etc.  (These are nroff macros, so the dot must be in
the first column).  A section boundary is also a paragraph boundary.
Note that a blank line (only containing white space) is NOT a paragraph
boundary.
Also note that this does not include a '{' or '}' in the first column.  When
the '{' flag is in 'cpoptions' then '{' in the first column is used as a
paragraph boundary posix.
Wolfie
la source