Portál AbcLinuxu, 21. května 2025 14:08
Protože ne každý má textový režim nastavený na více jak 80 znaků šířky, na stavový řádek Vimu se toho moc nevejde. Existuje ale možnost přepínat mezi různými stavovými řádky. Jak se to dělá vám rád ukáži (poněkud vylepšená verze je nyní k prostudování také zde, chcete-li vidět, co reálně používám já, tak se podívejte sem).
Do svého ~/.vimrc
dejte následující kód a pak klávesou F3
můžete v normálním módu Vimu přepínat mezi různými stavovými řádky. Uvedený kód je jen příklad!
Nejprve uvedu pro pořádek několikero funkcí, které jsou v příkladu použity.
"Par funkci, ktere jsou pouzity v prikladech "Spocita procenta fu! Percent() let byte = line2byte( line( "." ) ) + col( "." ) - 1 let size = (line2byte( line( "$" ) + 1 ) - 1) return (byte * 100) / size endf "Vrati hodnotu kodovani souboru anebo textik fu! FileEncoding() if &fileencoding == '' return "is not set" else return &fenc endif endf " Vrati hodnotu globalniho kodovani anebo textik fu! GlobalEncoding() if &fileencoding == '' return "is not set" else return &enc endif endf
A nyní již samotný příklad na implementaci přepínání více druhů stavového řádků v editoru Vim. Podotýkám, že uvedený příklad lze snadno přetransformovat i na použití s rulerem Vimu.
"A samotna implementace prepinani stavoveho radku "Nadefinujeme si jednotlive statusline let g:StatusLines{0}='[%03bD | %5(0x%02BH%)] [%8oC=%3{Percent()}%%] [%8c] : [%8l/%8L = %3p%%]' let g:StatusLines{1}='[GENC %10(%{GlobalEncoding()}%)] [FENC %10(%{FileEncoding()}%)]' let g:StatusLines{2}='[%n] %F' let g:StatusLinesCurrent=-1 "Namapujeme si klavesu map <F3> :call ToggleStatusLine()"Funkce, ktera prepina jednolive statusline fu! ToggleStatusLine() let g:StatusLinesCurrent=g:StatusLinesCurrent+1 if (!exists("g:StatusLines" . g:StatusLinesCurrent)) let g:StatusLinesCurrent=0 endif let &statusline=g:StatusLines{g:StatusLinesCurrent} endf "Nakonec jeste zapneme prvni variantu call ToggleStatusLine()
Velice jednoduché... Tak co? Není to přesně to, po čem ste už dlouho toužili??
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.