Satır uzunluğu işaretçisi vim / gvim olarak nasıl ayarlanır?


75

Bazı GUI metin editörleri, satır uzunluğu işaretçisi olarak hizmet eden dikey bir satıra sahiptir (satırları kaynak kod dosyalarında 80 karakterden kısa tutmaya yardımcı olur).

Vim / gvim'de benzer bir şeye sahip olmak mümkün mü? Cetvel vim seçeneğini biliyorum ama görsel olarak büyük ekranda izlemek pek kullanışlı değil.

Düzenleme: "colorcolumn" için daha fazla bilgi edinmek için googling yaparken, bu sorunun https://stackoverflow.com/questions/235439/vim-80-column-layout-concerns'in bir kopyası olduğunu buldum


başka bir sitede
Trevor Boyd Smith

Yanıtlar:


131

Sadece bunu yürüt

:set colorcolumn=72

Ayrıca, argümanın sol veya sağına birçok sütunun bulunduğu imleci koymak -veya +koymak için argüman önekini verebilirsiniz textwidthve virgülle ayrılmış bir sütun listesini kabul eder. Bence bu colorcolumnseçenek sadece Vim 7.3'te. Görmek

:help colorcolumn

8
Vay, vim beni şaşırtmaktan asla vazgeçmiyor!
Peter Nore,

4
Güzel! Ayrıca yararlı columns=80, wrapayarlanır ve colorcolumn=81,161,241,321,401,481,561,641,721,801- vurgulanan birinci sütuna 10 sarılmış satıra kadar gösterir.
Amir

20

Damian Conway'in "Daha Anında Daha İyi Vim" konuşmasından OSCON 2013'te:

highlight ColorColumn ctermbg=magenta
call matchadd('ColorColumn', '\%81v', 100)

Bu DarkCyan, çizgi maksimum 80 karakterin üzerine çıktığında karakterin macenta ile vurgulanması (ekran görüntüsü açıktır ) ile sonuçlanır .

vurgulama etkinken vim

GVIM için: o en iyisidir son kısmına o 2 satırları taşımak için bir .vimrcÇalışır sağlamak için dosyanın.


Huh! Az önce cevap çok bu ... küçük dünya hakkında benzer bir soru! superuser.com/questions/771558/…
lornix

Bu cevabı girdim, sonra gVim'de yapamadığımı hatırladım, ben de sordum. ;)
Isxek

Vay, bu gerçekten harika! Bu, aramayı bile bilmediğim bir özellik. '\$81v\S'Yalnızca boşluk olmayan karakterlerle eşleşen deseni kullanıyorum . Bu, satırın tam olarak 80 karakter uzunluğunda (bu beni gerçekten rahatsız eden bir şey) vurgunun görünmeyeceği anlamına gelir. Daha fazla bilgi için buna bakın. Stackoverflow.com/questions/12985042/…
fvgs

1
Önceki yorumumda birkaç düzeltme yapmak istiyorum. $Bir olmalıydı %. Aynı şekilde, ben şimdi bu modeli kullanıyorum, \%81v.çünkü 81. sütunun 81. sütundaki herhangi bir karakter için vurgulanmasını sağlıyor;
fvgs

2

Bunu deneyebilirsin:

grep '.\{81\}' file

veya

set colorcolumn=80

(veya kestirme eşdeğer)

set cc=80

veya yukarıda belirtildiği gibi:

match ErrorMsg '\%>80v.\+'

0

Aşağıda Hacking Vim'den gelen sakarca bir numara : Kim Schultz'un En Son Vim Editöründen En Çok Yararlanabileceği Bir Yemek Kitabı .

ErrorMsg80 karakterden fazla olan çizgileri vurgulamaktadır (genellikle parlak kırmızı). Benim için iyi çalışıyor.

function! RemoveWidthLimitWarnigns()
    silent! call matchdelete(4)
endfunction
function! InsertWidthLimitWarnings()
    call RemoveWidthLimitWarnigns()
    call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4)
endfunction

Bu pasajla ne yapmam gerekiyor? Sadece .vimrc içine sopa?
02'de

İlk arayarak sadece arayarak :call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4)yeter. Ama ben artık bunu tavsiye etmem çünkü @garyjohn daha iyi bir şey biliyorsa
unperson325680
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.