Ich möchte meine Statuslinie in vim informativer und interessanter gestalten, und dafür brauche ich einige Ideen. Wie haben Sie Ihre Statuslinie angepasst?
Ich möchte meine Statuslinie in vim informativer und interessanter gestalten, und dafür brauche ich einige Ideen. Wie haben Sie Ihre Statuslinie angepasst?
Antworten:
Bearbeiten:-
Hinweis: Vim-Airline gewinnt als neue Vimscript-Option an Bedeutung, da Powerline auf Python umgestellt wurde.
Scheint, Powerline ist, wo es in diesen Tagen ist: -
Normale Statuszeile
Benutzerdefinierte Statuszeilen für andere Plugins (z. B. Strg )
Hier ist meins:
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
Und hier sind die Farben, die ich verwendet habe:
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
guifg
und guibg
sind für gvim
. Wenn Sie mit vim
in einem Terminal, versuchen ctermfg
und ctermbg
stattdessen. Sie benötigen auch verschiedene Farben, die Nummern 1-16 oder 1-256, je nachdem, wie viele Farben Sie in vim aktiviert haben. Entsprechende Farben für jede Nummer.
Dies ist die, die ich benutze:
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.
Markieren auf? Funktion:
function! HighlightSearch()
if &hls
return 'H'
else
return ''
endif
endfunction
Farben (angepasst von 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
colorscheme
festgelegt wurde, aber ich sehe nur eine zweifarbige Statuszeile.
:colorscheme
echo &hls ? 'H' : ''
in meinem Fall:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
Was ich nützlich gefunden habe, ist zu wissen, welcher Kopier- / Einfügepuffer (Register) derzeit aktiv ist : %{v:register}
. Ansonsten sieht meine vollständige Statuszeile fast genauso aus wie die Standardzeile.
:set statusline=%<%f\ %h%m%r\ %y%=%{v:register}\ %-14.(%l,%c%V%)\ %P
v:register
sieht in der Tat sehr nützlich aus!
Manchmal ist weniger mehr. Müssen Sie wirklich den Prozentsatz der Datei kennen, die Sie beim Codieren verwenden? Was ist mit dem Dateityp?
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()}
Ich bevorzuge auch minimale Farben, um nicht vom Code abzulenken.
Entnommen aus: https://github.com/krisleech/vimfiles
Hinweis: rvm#statusline
Ist Ruby-spezifisch und fugitive#statusline
Git-spezifisch.
Ich verwende derzeit diese Einstellungen in der Statusleiste:
set laststatus=2
set statusline=\ %f%m%r%h%w\ %=%({%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y}%)\ %([%l,%v][%p%%]\ %)
Meine vollständige .vimrc-Datei: http://gabriev82.altervista.org/projects/vim-configuration/