Bisakah saya menambahkan pembatas paragraf khusus?

8

Paragraf dibatasi oleh baris kosong, baik dalam vim dan tex, tetapi kadang-kadang saya ingin vim memperlakukan entitas sebagai paragraf dan bukan tex. Bisakah saya, misalnya, membuat vim memperlakukan baris yang hanya berisi "%" sebagai pembatas paragraf?

Toothrot
sumber
1
Lihat jawaban saya untuk pertanyaan serupa di sini: vi.stackexchange.com/a/6043/4932 juga periksa plugin ini: github.com/vim-scripts/Improved-paragraph-motion
fruglemonkey
1
Plugin terlihat sangat menarik, tetapi saya mendapat kesalahan saat memuatnya: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, sejauh yang saya bisa mengerti kesalahan itu di plugin. pesan kesalahan hilang setelah :set ff=unix.
Toothrot
2
Plugin hanya memengaruhi} dan {gerakan, bukan objek teks.
Toothrot
1
Ya, tetapi Anda bisa membuat pemetaan yang akan membuatnya berperilaku 'seperti' objek teks. Mengapa Anda menginginkan pembatas paragraf khusus? Tindakan apa yang ingin Anda lakukan yang membutuhkannya?
fruglemonkey

Jawaban:

2

Anda tidak dapat native membuat %pembatas pagraph, sebagai macro ayat macro nroff (titik, dua karakter: .xx)

Namun, Anda dapat menambahkan .%%(atau kombinasi lain yang Anda inginkan) sebagai pembatas paragraf dengan menambahkannya lakukan paragraphsopsi:

:set paragraphs=IPLPPPQPP\ TPHPLIPpLpItpplpipbp%%

Lihat :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
sumber