J'aimerais rendre mon statut dans vim plus informatif et intéressant, et pour cela j'ai besoin de quelques idées. Comment avez-vous personnalisé votre statut?
J'aimerais rendre mon statut dans vim plus informatif et intéressant, et pour cela j'ai besoin de quelques idées. Comment avez-vous personnalisé votre statut?
Réponses:
Éditer:-
Notez que vim- Airlines gagne du terrain en tant que nouvelle option vimscript, car Powerline est devenue python.
Il semble que Powerline soit là où il est ces jours-ci:
Ligne d'état normal
Lignes de statut personnalisées pour d'autres plugins (par exemple ctrlp )
Voici la mienne:
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
Et voici les couleurs que j'ai utilisées:
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
et guibg
sont pour gvim
. Si vous exécutez vim
dans un terminal, essayez ctermfg
et ctermbg
place. Vous aurez également besoin de différentes couleurs, les numéros 1-16 ou 1-256 selon le nombre de couleurs que vous avez activées dans vim. Couleurs correspondantes pour chaque numéro.
C'est celui que j'utilise:
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.
Mettre en évidence? fonction:
function! HighlightSearch()
if &hls
return 'H'
else
return ''
endif
endfunction
Couleurs (adapté de 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
été défini, mais je vois juste une ligne d'état à deux tons.
:colorscheme
echo &hls ? 'H' : ''
dans mon cas:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
Ce que j'ai trouvé utile est de savoir qui copier / coller tampon (registre) est actuellement actif: %{v:register}
. Sinon, ma ligne d'état complète ressemble presque exactement à la ligne standard.
:set statusline=%<%f\ %h%m%r\ %y%=%{v:register}\ %-14.(%l,%c%V%)\ %P
v:register
semble vraiment très utile!
Parfois moins c'est plus, avez-vous vraiment besoin de connaître le pourcentage dans le fichier que vous êtes lors du codage? Qu'en est-il du type de fichier?
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()}
Je préfère également une couleur minimale pour ne pas me distraire du code.
Tiré de: https://github.com/krisleech/vimfiles
Remarque: rvm#statusline
est spécifique à Ruby et fugitive#statusline
est spécifique à git.
J'utilise actuellement les paramètres de cette barre d'état:
set laststatus=2
set statusline=\ %f%m%r%h%w\ %=%({%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y}%)\ %([%l,%v][%p%%]\ %)
Mon fichier .vimrc complet: http://gabriev82.altervista.org/projects/vim-configuration/