Kann ich ein benutzerdefiniertes Absatztrennzeichen hinzufügen?

8

Absätze werden sowohl in vim als auch in tex durch leere Zeilen begrenzt, aber manchmal möchte ich, dass vim eine Entität als Absatz und nicht als tex behandelt. Kann ich z. B. vim dazu bringen, Zeilen, die nur ein "%" enthalten, als Absatzbegrenzer zu behandeln?

Zahnrot
quelle
1
Siehe meine Antwort auf eine ähnliche Frage hier: vi.stackexchange.com/a/6043/4932 Schauen Sie sich auch dieses Plugin an: github.com/vim-scripts/Improved-paragraph-motion
fruglemonkey
1
Plugin sieht sehr interessant aus, aber ich habe einen Fehler beim Laden bekommen: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, soweit ich verstehen kann, war der Fehler im Plugin. Fehlermeldungen gingen danach weg :set ff=unix.
Zahnrot
2
Das Plugin betrifft nur} und {Bewegungen, keine Textobjekte.
Zahnrot
1
Ja, aber Sie können ansonsten Zuordnungen erstellen, mit denen es sich wie ein Textobjekt verhält. Warum möchten Sie ein benutzerdefiniertes Absatztrennzeichen? Welche Aktion möchten Sie ausführen, für die eine erforderlich wäre?
Fruglemonkey

Antworten:

2

Sie können nicht nativ machen %ein pagraph Trennzeichen, als Absatz Makros nroff Makros (ein Punkt, zwei Zeichen: .xx)

Sie können jedoch .%%(oder eine beliebige andere Kombination) als Absatzbegrenzer hinzufügen, indem Sie die folgende paragraphsOption hinzufügen :

:set paragraphs=IPLPPPQPP\ TPHPLIPpLpItpplpipbp%%

Siehe :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
quelle