Vim'de işaretleme vurgulamayı etkinleştirme


138

Vim'i MacBook Air'imdeki bir terminalde OS X Lion ile kullanıyorum ve Markdown sözdizimi vurgulaması için iyi bir eklenti bulamıyorum.

Şimdiye kadar plasticboy eklentisini ve Tim Pope eklentisini denedim . Plasticboy eklentisi iyi çalıştı, ancak satırların sonunda beyaz alanın vurgulanmasına neden oluyordu ve bunu nasıl kapatacağımı anlayamadım. (Gerçekten sinir bozucu, çünkü spaceyazarken her vurduğumda karakteri vurgular.)

Tim'in eklentisi, belki de kullanılan başlıklar dışında, vurgulama yolunda çok fazla bir şey yapmadı ###. Kod blokları ve madde işaretleri göz ardı edilir. Orada bir şey eksik olabilir. .mdMarkdown dosyalarımdaki uzantıyı kullanıyorum , bu yüzden dosya türünü almalı.

Ayrıca Markdown desteği yerleşik olan Vim 7.3'e bir referans gördüm, ancak bu iki eklentiden biri olmadan hiç vurgulama yapmadım.

Bunlardan herhangi birinin çalışması için belirli renk şemaları gerekiyor mu?


24
*.mdmarkdown için doğru uzantı değil. Bu modula dosyaları içindir. Tpope eklentisi iyi çalışıyor (tüm bu eklentiler iyi çalışıyor) *.markdownUzantıyı kullanmalısınız
lucapette

7
Tim Papa'nın eklenti için ftdetect @lucapette gelmez de dahil *.mdbirlikte: *.markdown,*.mdown,*.mkd,*.mkdn. Plastik çocuk eklentisi yalnızca otomatik olarak algılar*.mkd,*.markdown,*.mdwn
pb2q

1
Plasticboy eklenti kaynağından, aslında tespit .mdettiği gibi görünüyor . Şimdilik bu uzantıya kilitliyim çünkü blogum için Scriptogr.am kullanıyorum ve şu anda tanıdıkları tek uzantı bu.
Josh Earl

1
Bunu buldum ve github aromalı markdown
Matthew Turner

Plasticboy / vim-markdown ile ilgili sorunlar için , lütfen geliştiricilerin çözebilmesi için projelerde sorunları açın. Çift boşlukların <br>etiket oluşturması nedeniyle sondaki boşlukların vurgulanmasının iyi bir davranış olduğunu görüyorum , bu yüzden yazarlar bundan haberdar edilmelidir.
Ciro Santilli 法轮功 冠状 病 六四 事件 法轮功

Yanıtlar:


22

Bu, plasticboy mkd eklentisini kullanırken satır sonu alanı vurgulamasını devre dışı bırakmak için çalışmalıdır:

:syn clear mkdLineBreak

Sen olabilir autocmdbunu her zaman yapmak gerekmez böylece bu gerekli dosya uzantıları için bir markdown dosyasını yüklemek.

Bu özel vurgulamanın mevcut olduğunu unutmayın çünkü Markdown 2 veya daha fazla boşluk karakteriyle biten satırları a ekleyerek özel olarak ele aldığından <br>faydalıdır.

Kullanımlara eklentisi plasticboy TODObu kural için vurgulama olan sarı arkaplan - - varsayılan olarak, çok fazla bu şekilde tasarlandığından olarak biraz gerçekten cafcaflı olmak Diğerlerinden farkı böylece. Bu highlightkuralı değiştirerek görsel olarak daha az çarpıcı hale getirebilirsiniz . Bunu yapmanın hızlı bir yolu şöyle olacaktır:

:hi link mkdLineBreak Underlined

Şimdi bu satır sonu alanları altı çizili olarak görünecektir. highlightSize daha fazla hitap edebilecek bir şey için diğer gruplara bağlanmayı deneyin . Kullanmak yerine, linkbu satır sonu boşlukları hakkında daha da belirginleşebilirsiniz: örneğin, normal arka plandan biraz daha açık / koyu görünmelerini , kendi highlightkomutunuzu kullanarak , özel ctermfg , ctermbg , guifg belirterek belirtebilirsiniz. , guibg ayarları.

Yukarıdaki gibi, bunu autocmdözel ayarlarınızı uygulamak için yapabilirsiniz.

Bağlantı highlightgrupları hakkında daha fazla bilgi için , şunu yazın: :help group-nameve bağlanabilecek grupların, geçerli highlightkuralları kullanılarak yararlı bir şekilde görüntülenmesi gereken bir listesini görürsünüz . Ayrıca: :help highlight.


2
Bu çok mantıklı. Markdown'da iki mekanın öneminin farkında değildi. Sanırım beni rahatsız etmediği sürece etkin bırakacağım. Teşekkürler!
Josh Earl

Evet, bu yüzden vurgu 2 boşluk girilene kadar başlamıyor.
pb2q

@ josh-earl plasticboy eklentisini kullanırken daha fazla alternatif için düzenlemelerimi gör
pb2q

308

Yerel sözdizimi vurgulama hakkında vurgulamak Ben sadece .markdownvarsayılan olarak uzantısı olan dosyalar için çalıştığını düşünüyorum . Dosyalarım
için markdown sözdizimi vurgulama ile ilgili sorunlar yaşıyordum .md.
Denedim:

:set syntax=markdown

Ve işe yaradı. Bu yüzden benim aşağıdaki satırı dahil .vimrc:

au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown

Şimdi vim .mddosyalarım için sözdizimi vurgu var .

BufFilePre aşağıdakiler için gereklidir: sav


13
Bunu okuyan herkes için: evet çalışır ve bir eklenti kurmaktan çok daha basit bir çözümdür. Komut satırından bunu yapmanın hızlı yolu: echo "au BufRead, BufNewFile * .md set filetype =
markdown

11
Bana öyle geliyor ki bu kabul edilen cevap olmalı.
Enrico Campidoglio

4
@SamStoelinga Bu bir hata değil, .mdModula tarafından da kullanılıyor. Hangisinin kullanılacağını tespit etmek için bazı gelişmiş buluşsal yöntemler gerekir.
nyuszika7h

8
Vim 7.4.480 itibariyle, *.mddosyalar varsayılan olarak Markdown olarak tanınır.
fwalch

1
Doğru, ama eksik. Bunun Save As… :savkomutla eşit şekilde çalışması için, BufFilePreautocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown
oto

19

Yerel sözdizimi vurgulama

Markdown için yerel sözdizimi vurgulaması yalnızca .markdowndosya uzantısı için varsayılan olarak çalışır .

Aşağıdaki satır .vimrcverim hem de iyi sonuçlar vimve gvim:

autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown.pandoc

Açıklama:

1. Markdown lezzetinizi belirtin!

Markdown'un bir lezzetiyle (örneğin Pandoc ) çalışıyorsanız, bundan da söz ettiğinizden emin olun! Bunu yapmak, hem Markdown hem de Pandoc'a özgü Vim eklentilerinin karıştırılmasına ve eşleştirilmesine izin verir. Örneğin: vim-pandoc-sözdizimi eklentisini özellikle vurgulama ihtiyaçlarım için uygun buldum. Yine de Markdown katlama için daha genel vim-markdown- katlama kullanıyorum.

Bu arada, bir nokta ile ayrılmış sadece bir aroma izin verilir, örneğin: filetype=markdown.pandoc

2. gvimgerektirirBufFilePre

gvimkomutla BufFilePreMarkdown dosya türü tanıma için otomatik Save As… :savkomut satırında ek bir şey gerektirir .



7

Daki yapılandırmanın tüm koyarak gibi yapmazsanız ~/.vimrc, oluşturabileceğiniz ~/.vim/ftdetect/markdown.md(veya Windows üzerinde eşdeğer) Aşağıdaki içeriği ile.

au BufNewFile,BufRead *.md setf markdown

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.