vimrc - yorum nasıl engellenir?


14

Bir metin dosyasındaki veya koddaki metin satırlarına yorum yapmak istemiyorum. Bir .vimrc dosyasına blok yorumları eklemek için arıyorum . Tek satırlık bir açıklama eklemek için "kullanılır, örneğin:

" remove spaces and tabs as well  at the end of line automatically while saving
autocmd BufWritePre * :%s/\s\+$//e

Şimdi havalı özellikler eklemek için internette dolaştıktan sonra yıllar boyunca toplanan nispeten büyük miktarda ayar / yapılandırma / eklenti var. .Vimrc dosyama bazı büyük yorum blokları eklemek istiyorum. "Her satıra ekleme bir seçenektir, ancak bir blok yorum sözdizimi arıyorum. /**/C ile benzer .

//aynıdır "
/* */aynıdır _ ____ ?

Unix.SE, SO ve googling aramak pek yardımcı olmadı.


1
Vim-config dosyalarında çok satırlı yorum özelliğinin bulunmadığından şüpheleniyorum.
Dilawar

Yanıtlar:


5

Bunun mümkün olduğunu düşünmüyorum. Yapabileceğiniz en iyi şey, bazı metinleri seçmek ve her satırın başına s/^/"/a eklemek için vim'deki ilk karakter üzerinde bir arama / değiştirme yapmaktır ".

Vim eklentisi NERD Commenter bunu kolaylaştırmaya yardımcı olabilir.


1
Geçici çözümü kullanıyorum:., + 3s / ^ / "/ burada nokta geçerli satırı ve +3 ardışık (nokta satırından sonra) satır miktarını temsil eder.
daGo

6

Benim çözüm kodu a içine sarmaktır function.

Bu, vimrc'de iyi çalışır, örneğin, önde gelen karakterler olmadan gerçek blok yorumları gerektiren yerinde heredoc sözdizimi vurgulama testleri için. Benim vimrc, benedoc SyntaxRanges kurduktan hemen sonra böyle bir blok kullanın .

function! _blockcomment()

    " free text comment
    You can write free text here,
    but vim will try to highlight it as vimscript!

    " markdown heredoc
    test <<MD
    ### Nevertheless ###
    * for testing my fuzzy SyntaxRange heredocs
    * having no leading chars is essential
    * and the blockcomment function does the trick
    MD  

endfunction 

Bu çözüm @ Stéphane'nin if 0benim için işe yaramayan numarasına benziyor . Bu işlevi asla çağırmamaya dikkat edin!


1

Bir numara:

  • imlecinizi yorum yapılacak ilk satırın ilk karakterine getirin
  • Görsel Blok moduna girmek için Ctrl-V tuşlarına basın
  • yorum yaptığınız son satıra kadar imlecinizi indirin
  • koşullu ekleme moduna girmek için I (üst karakter + i) tuşlarına basın
  • yorum yapmak için '"' tuşuna basın (fiyat teklifi ve boşluk)
  • ekleme modundan çıkmak için Esc tuşuna basın

Seçtiğiniz tüm satırlar artık ekleme modunda yazdığınız dizeyle başlıyor.


Teşekkürler ama tam olarak vimrc blok yorum tarzı nedir arıyordu .
mtk

Vim'de böyle bir özellik olduğunu sanmıyorum. Bu arada, çok yaygın değil. Birçok komut dosyası dilinde, bir dizi satırda tek satırlık yorumlar kullanmak daha normaldir.
lgeorget

1

tCommentVim için eklentiyi kullanın : http://www.vim.org/scripts/script.php?script_id=1173

Evet, Python'u destekliyor (2011'de eklendi).

açıklama: TComment bir açma / kapatma gibi çalışır, yani, yorumlanmamış satırlar içeren metni yorumlar ve zaten yorumlanmış metni (yani, yorumlanmamış satır içermeyen metni) kaldırır.

Dosya türü uygun şekilde tanımlanmışsa: TComment, & commentstring veya & comments değerlerine göre hangi yorum dizesinin kullanılacağını belirler. Bazı dosya türleri için yorum tanımı açıkça tanımlanmıştır. Şunları yapabilirsiniz: tcomment # DefineType () | kendi tanımlarınızı eklemek için.

TComment, ana dosya türünden farklı bir dosya türünün gömülü koduyla, örneğin vim komut dosyalarında yakut / python / perl bölgeleri, php kodunda HTML veya JavaScript vb.

Operatör olarak (önek g: tcommentMapLeaderOp1 ve g: tcommentMapLeaderOp2 yoluyla özelleştirilebilir):

gc{motion}   :: Toggle comments (for small comments within one line 
                the &filetype_inline style will be used, if 
                defined) 
gcc          :: Toggle comment for the current line 
gC{motion}   :: Comment region 
gCc          :: Comment the current line 

Birincil anahtar haritaları:

<c-_><c-_>   :: :TComment 
<c-_><space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END> 
<c-_>b       :: :TCommentBlock 
<c-_>a       :: :TCommentAs <QUERY COMMENT TYPE> 
<c-_>n       :: :TCommentAs &filetype <QUERY COUNT> 
<c-_>s       :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE> 
<c-_>i       :: :TCommentInline 
<c-_>r       :: :TCommentRight 
<c-_>p       :: Comment the current inner paragraph 

Ayrıca lider olarak _ ile ikincil bir anahtar harita seti vardır (terminallerde daha çok tercih edilir).


1

tpopeDenilen bu hayat değiştiren eklenti varvim-commentary

https://github.com/tpope/vim-commentary

Bu eklenti şunları sağlar :

  • Akıl sağlığı
  • Girintili yorumlar
  • Boş / gereksiz satırları yorumlamaz

Kullanımı :

  • Vundle (veya sanırım Patojen) ile kurun.
  • Metninizi vurgulayın ve simgesine basın :.:<,'>
  • Buraya Commentary yazın :<,'>Commentaryve enter tuşuna basın.
  • Bom. Yaptığın tomurcuk.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.