2009-06-04 34 views
9

My SAS kod yorumun bu tarz gerektirir Bu set komutunu yazdıktan sonra, bu yorumları koda eklemek için gerçekten bilmiyorum. Talimatlar, /\*<enter> yazıyor, ancak ekleme modunda bu sadece normal olarak hareket eder ve komut modunda bu * bir bulmak yok diyor.takın yorumları otomatik Vim

Bunu nasıl çalıştırabilirim? Yorum işaretleri otomatik olarak eklemek için bundan daha iyi yollar var mı?

cevap

19

koydu, Vim değil Yeni satırları veya bitiş işaretlerini sizin için otomatik olarak ekleyin. Bunun yerine, siz yazarken kolay sürece 'formatoptions'r içerdiğinden, bu eklemek için yapar: Bundan sonra

:set formatoptions+=r 

, normal şekilde yorumunu yazmaya başlayın: "/*<Enter>" (ekleme modunda). Enter tuşuna bastıktan sonra, yazmaya başlamanız için bir sonraki satırda yorum lideri (yıldız ve boşluk) otomatik olarak görünmelidir. Yorumunuz tamamlandığında, "<Enter>/" ile bitirin; <Enter>, sonraki satıra hareket eder ve bölü çizgisi, son işaretleyicinin ikinci karakteri olur. Evet, senin için alanı kaldıracağım, ama sadece enter tuşuna bastıktan sonra.

Bu tür bir yorumu düzenlemeyi kolaylaştırmak için, c ve/veya o karakterlerini de formatoptions'a eklemek istersiniz. Birincisi, yorumları otomatik sarmalamaya izin verir ve ikincisi normal mod komutlarını kullanarak yorum içinde yeni bir satır oluşturduğunuzda yorum liderini ekler.

+0

bahseder *//. –

+0

@Daniel: Bu davranış, yukarıdaki ': set comment' satırında' x' karakteri ile tetiklenir. Ayrıntılar için bakınız:: 'format-comments'. Kötü '' yorumlar '' değerinin nerede belirlendiğini görmek için, ': verbose set comment?' Ifadesini kullanın. – eswald

2

Hangi dil? C Vim autoloads yorumlar için bu ayarda

: beklediğiniz gibi çalışır

" Set 'comments' to format dashed lists in comments. 
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// 

. Belki de kullandığınız dil/uzantının ftpluginine eklemelisiniz?

+1

OP benim vim kırık gibi görünüyor SAS kodunu – webwesen

1

benim .vimrc bu kısaltmayı vardır:

" /// -> insert javadoc comment 
iab <buffer> /// /**^M *^M*/^[0A 

nerede^[0A olan ctrl-v + up. ekleme modunda
Tip /// sorununuzu çözebilir

/** 
* 
*/ 
1

this Vim senaryosu gibi bir yorum almak - sadece Varsayılan olarak "vimXY/sözdizimi" klasörü

1

Ayrıca, birden fazla dosya türünü kullanıyorsanız, yorum stilinizi (:set comments?) kontrol etmeyi unutmayın. PHP, örneğin, HTML gömülü HTML HTML <!-- ... -->'u kullanır, bu nedenle /* yazarak ve Enter tuşlarına basmanın hiçbir etkisi olmayacaktır.

Emin PHP yorum yapmak benim .vimrc dosyasında aşağıdakilere sahip

HTML kodu hala düzgün yorumladı edilecek
au Bufenter *.php set comments=sl:/*,mb:*,elx:*/ 

Ancak HTML kodu içinde boşluklar PHP yorumlama kuralı kullanıyor olabilir varsayılan olarak kullanılır (Eğer tComment gibi eklentileri kullanırsanız) ve çok satırlı HTML yorumlarınız olmayacak. yani vim tanıması başarısız - Yorumlarıma sonu sadece yorumladı ileriye eğik çizgi ve sonraki satırda daha yorumunda sonuçlanır de /`` basmak -