Mi piacerebbe rendere il mio statusline in vim più informativo e interessante, e per questo ho bisogno di alcune idee. Come hai personalizzato la tua statusline?
Mi piacerebbe rendere il mio statusline in vim più informativo e interessante, e per questo ho bisogno di alcune idee. Come hai personalizzato la tua statusline?
Risposte:
Modificare:-
Nota vim-Airline sta guadagnando un po 'di trazione con la nuova opzione vimscript in quanto Powerline è diventato Python.
Sembra powerline è dove si trova in questi giorni: -
Riga di stato normale

Linee di stato personalizzate per altri plug-in (ad es. Ctrlp )

Ecco il mio:
set statusline=
set statusline +=%1*\ %n\ %* "buffer number
set statusline +=%5*%{&ff}%* "file format
set statusline +=%3*%y%* "file type
set statusline +=%4*\ %<%F%* "full path
set statusline +=%2*%m%* "modified flag
set statusline +=%1*%=%5l%* "current line
set statusline +=%2*/%L%* "total lines
set statusline +=%1*%4v\ %* "virtual column number
set statusline +=%2*0x%04B\ %* "character under cursor

Ed ecco i colori che ho usato:
hi User1 guifg=#eea040 guibg=#222222
hi User2 guifg=#dd3333 guibg=#222222
hi User3 guifg=#ff66ff guibg=#222222
hi User4 guifg=#a0ee40 guibg=#222222
hi User5 guifg=#eeee40 guibg=#222222
guifge guibgsono per gvim. Se si esegue vimin un terminale, provare ctermfge ctermbginvece. Avrai anche bisogno di colori diversi, i numeri 1-16 o 1-256 a seconda di quanti colori hai abilitato in vim. Colori corrispondenti per ogni numero.
Questo è quello che uso:
set statusline=
set statusline+=%7*\[%n] "buffernr
set statusline+=%1*\ %<%F\ "File+path
set statusline+=%2*\ %y\ "FileType
set statusline+=%3*\ %{''.(&fenc!=''?&fenc:&enc).''} "Encoding
set statusline+=%3*\ %{(&bomb?\",BOM\":\"\")}\ "Encoding2
set statusline+=%4*\ %{&ff}\ "FileFormat (dos/unix..)
set statusline+=%5*\ %{&spelllang}\%{HighlightSearch()}\ "Spellanguage & Highlight on?
set statusline+=%8*\ %=\ row:%l/%L\ (%03p%%)\ "Rownumber/total (%)
set statusline+=%9*\ col:%03c\ "Colnr
set statusline+=%0*\ \ %m%r%w\ %P\ \ "Modified? Readonly? Top/bot.
Evidenziare? funzione:
function! HighlightSearch()
if &hls
return 'H'
else
return ''
endif
endfunction
Colori (adattato da ligh2011.vim):
hi User1 guifg=#ffdad8 guibg=#880c0e
hi User2 guifg=#000000 guibg=#F4905C
hi User3 guifg=#292b00 guibg=#f4f597
hi User4 guifg=#112605 guibg=#aefe7B
hi User5 guifg=#051d00 guibg=#7dcc7d
hi User7 guifg=#ffffff guibg=#880c0e gui=bold
hi User8 guifg=#ffffff guibg=#5b7fbb
hi User9 guifg=#ffffff guibg=#810085
hi User0 guifg=#ffffff guibg=#094afe

colorschemestato impostato uno qualsiasi , ma vedo solo una linea di stato a doppio tono.
:colorscheme
echo &hls ? 'H' : '' nel mio caso:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
Quello che ho trovato utile è quello di sapere quale copia / incolla del buffer (registro) è attualmente attiva: %{v:register}. Altrimenti, la mia linea di stato completa sembra quasi esattamente come la linea standard.
:set statusline=%<%f\ %h%m%r\ %y%=%{v:register}\ %-14.(%l,%c%V%)\ %P
v:registersembra davvero molto utile!
Alcune volte di meno è di più, hai davvero bisogno di sapere la percentuale attraverso il file che sei durante la codifica? E il tipo di file?
set statusline=%F%m%r%h%w\
set statusline+=%{fugitive#statusline()}\
set statusline+=[%{strlen(&fenc)?&fenc:&enc}]
set statusline+=\ [line\ %l\/%L]
set statusline+=%{rvm#statusline()}


Preferisco anche il colore minimo per non distrarre dal codice.
Tratto da: https://github.com/krisleech/vimfiles
Nota: rvm#statuslineè specifico per Ruby ed fugitive#statuslineè specifico per git.
Attualmente uso queste impostazioni della barra di stato:
set laststatus=2
set statusline=\ %f%m%r%h%w\ %=%({%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y}%)\ %([%l,%v][%p%%]\ %)
Il mio file .vimrc completo: http://gabriev82.altervista.org/projects/vim-configuration/