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?
@paxdiablo: Parfois, cela vaut la peine de passer le temps à configurer l'outil selon vos besoins afin que vous puissiez en faire un meilleur usage et ainsi gagner du temps tout en travaillant.
DarkDust
10
Cela devrait être un wiki communautaire car il n'y a pas de réponse correcte.
Randy Morris
3
Il ne s'agit pas tant d'opinions que de tirer parti de l'expérience et de l'expertise de personnes plus savantes. L'interlocuteur recherche des informations qu'il ne peut pas deviner, ne demande pas aux individus de se concurrencer sur ce qui est le mieux. Les réponses généreront un certain nombre d'options qu'il n'avait pas auparavant. Ce n'est pas parce qu'une question a plus d'une réponse que ce n'est pas une question basée sur l'expertise technique. Cette question correspond bien au format SO et devrait rester ouverte.
NeilG
Réponses:
134
É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 )
@Gavin comment puis-je modifier vos segments de lignes électriques? pourriez-vous mettre à jour certains scripts de modification de segment par défaut? cheers
Jerry Gao
@Gavin Moi aussi, j'apprécierais si vous pouviez partager comment vous avez inclus des choses comme votre succursale dans vim-powerline
Eric Hu
1
Rien de spécial à faire, à partir de: github.com/Lokaltog/vim-powerline#troubleshooting, assurez-vous simplement d'avoir "let g: Powerline_symbols = 'fancy'" dans votre fichier vimrc et d'avoir installé les polices corrigées.
Gavin Gilmour
c'est un joli plugin. Mais mes performances de défilement lorsque j'ouvre un fichier pour la première fois sont très très mauvaises à cause de cela.
Ahmed Aeon Axan
2
@AhmedAeonAxan essaie la compagnie aérienne, ça démarre vite (pur vimscript). Et nécessite beaucoup moins d'efforts à installer, en particulier avec Vundle ou Pathogen. Et une fois que vous avez installé la police Powerline, elle ressemble plus ou moins à une compagnie aérienne. github.com/Lokaltog/powerline-fonts
enneigé
60
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
c est en fait le nombre d'octets, même s'il est parfois appelé nombre de colonnes même dans l'aide de vim. Vous pouvez utiliser v pour obtenir ce que l'on entend généralement par numéro de colonne.
Ludwig Weinzierl
Merci @Ludwig, je ne l'ai pas remarqué. Je vais modifier la réponse.
Tassos
8
J'adore la clarté du commentaire de chaque valeur ajoutée sur sa propre ligne. Si j'avais fait cela il y a 7 ans, je ne l'aurais pas jeté lors de ma dernière installation de système d'exploitation propre.
Bruno Bronosky
Sweeet! Une chose qui me manque en utilisant ceci est la ligne qui sépare la session fractionnée
Julio Marins
1
@trusktr Notez que guifget guibgsont pour gvim. Si vous exécutez vimdans un terminal, essayez ctermfget ctermbgplace. 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.
joelostblom
46
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.
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
Bien, cela évite le besoin d'avoir les plugins de ligne d'état fantaisie au moins pour mon cas d'utilisation, eye candy :)
Nishant
1
Comment faire fonctionner les couleurs?
trusktr
J'ai essayé de mettre cela après que tout ait colorschemeété défini, mais je vois juste une ligne d'état à deux tons.
trusktr
@trusktr, pas facile à expliquer .... Vous devez mettre les 2 premiers blocs dans votre fichier vimrc et le bloc de couleurs dans votre fichier de couleurs actuel. Vous pouvez trouver votre fichier de couleurs actuel avec cette commande::colorscheme
Reman
1
Votre recherche de surbrillance serait plus courte (sans aucune fonction) simplement en utilisant un opérateur ternaire comme celui-ci -> echo &hls ? 'H' : '' dans mon cas:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
SergioAraujo
20
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.
Qu'est-ce que cela signifie pour un registre d'être actif? Ma (mauvaise) compréhension des registres est qu'ils étaient essentiellement des presse-papiers pour stocker du texte.
Roymunson
15
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.
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%%]\ %)
Réponses:
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 )
la source
Voici la mienne:
Et voici les couleurs que j'ai utilisées:
la source
guifg
etguibg
sont pourgvim
. Si vous exécutezvim
dans un terminal, essayezctermfg
etctermbg
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:
Mettre en évidence? fonction:
Couleurs (adapté de ligh2011.vim):
la source
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.la source
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?
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 etfugitive#statusline
est spécifique à git.la source
J'utilise actuellement les paramètres de cette barre d'état:
Mon fichier .vimrc complet: http://gabriev82.altervista.org/projects/vim-configuration/
la source
set statusline=%<%f%m\ \[%{&ff}:%{&fenc}:%Y]\ %{getcwd()}\ \ \[%{strftime('%Y/%b/%d\ %a\ %I:%M\ %p')}\]\ %=\ Line:%l\/%L\ Column:%c%V\ %P
Ceci est à moi, donnez comme suggestion
la source