2012-03-17 23 views
7
aşağıdaki küresel komutla baş harfi göre benim metinde paragraflar sıralamak istediğiniz

: Bu yalnız çalışırÇoklu küresel komutlar hata veriyor: yapamaz: Küresel özyinelemeli

g/_p/,/^$/mo$ 

. Tek seferde birden fazla küresel komutları kullandığınızda, o zaman bir hata oluşursa:

Cannot do :global recursive 

nasıl sırayla seferde bu komutları çalıştırabilirsiniz:

g/_p/,/^$/mo$|g/_w/,/^$/mo$ 

Bu, aşağıdaki hata veriyor?

cevap

7
:exe 'g/_p/,/^$/mo$' | g/_w/,/^$/mo$ 

:bar

+1

Bu durumda, ': global 'komutlarını': execute' içinde sarmak gerekli değildir, yalnızca ilkini sarmak yeterlidir: ': exe'g/_p /,/^ $/mo $ ' | g/_w /,/^ $/mo $ '. –

+0

@ib .: Önerinizi ekledim. Güzel, teşekkürler! Ben özellikle şu gerçeği beğendim: “exe” ve “…” parametresi arasındaki boşluğu bile kaydettiniz. xD –

0

Here:help vimscript tür tüm paragraflar birkaç çizgilerdir bakın. Fakat paragrafları boş çizgilerle değil, çentiklerle tanırlar. Ancak, kesinlikle paragrafları boş çizgilerle ayırt etmek için uyarlanabilirdi.