Gostaria de tornar minha linha de status no vim mais informativa e interessante, e para isso preciso de algumas idéias. Como você personalizou sua linha de status?
@paxdiablo: Às vezes, vale a pena gastar tempo configurando a ferramenta de acordo com as suas necessidades, para que você possa usá-la melhor e assim economizar tempo enquanto trabalha.
DarkDust 21/03/11
10
Este deve ser um wiki da comunidade, pois não há resposta correta.
Randall Morris
3
Não se trata apenas de opiniões, mas de aproveitar a experiência e os conhecimentos de indivíduos mais instruídos. O interlocutor está procurando informações que ele não consegue adivinhar, não pedindo que as pessoas competam sobre o que é melhor. As respostas gerarão várias opções que ele não tinha antes. Só porque uma pergunta tem mais de uma resposta, não significa que não seja uma questão baseada em conhecimentos técnicos. Esta pergunta se encaixa bem no formato SO e deve permanecer aberta.
NeilG
Respostas:
134
Editar:-
Observe que o vim- airlines está ganhando força como a nova opção vimscript, pois o powerline passou a python.
@ Gavin, como posso mudar para os seus segmentos de linha de energia? você poderia atualizar alguns scripts de modificação de segmento padrão? Cheers
Jerry Gao
@ Gavin Eu também agradeceria se você pudesse compartilhar como incluiu coisas como sua filial no vim-powerline #
Eric Hu Eric
1
Nada de especial foi feito em: github.com/Lokaltog/vim-powerline#trou soluço apenas certifique-se de ter "deixado g: Powerline_symbols = 'fancy'" em seu arquivo vimrc e com fontes corrigidas instaladas.
Gavin Gilmour
Este é um bom plugin. Mas meu desempenho de rolagem quando abro um arquivo pela primeira vez é muito ruim por causa disso.
Ahmed Aeon axan
2
@AhmedAeonAxan tenta companhia aérea, ela começa rápido (vimscript puro). E leva muito menos esforço para configurar, especialmente com Vundle ou Pathogen. E depois que você instala a fonte powerline, ela se parece mais ou menos com a companhia aérea. github.com/Lokaltog/powerline-fonts
snowbound
60
Aqui está o meu:
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
E aqui estão as cores que eu usei:
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 é realmente a contagem de bytes, mesmo que às vezes seja chamada de contagem de colunas, mesmo na ajuda do vim. Você pode usar v para obter o que normalmente se entende por número da coluna.
Ludwig Weinzierl
Obrigado @Ludwig, eu não notei isso. Vou editar a resposta.
Tassos
8
Adoro a clareza de comentar cada valor acrescentado em sua própria linha. Se eu tivesse feito isso há 7 anos, não teria jogado fora quando fiz minha última instalação limpa do SO.
de Bruno Bronosky
Sweeet! Uma coisa que estou perdendo usando isso é a linha que separa a sessão dividida
Julio Marins
1
@trusktr Observe guifge guibgé a favor gvim. Se você estiver executando vimem um terminal, tente ctermfge, em ctermbgvez disso. Você também precisará de cores diferentes, os números 1-16 ou 1-256, dependendo de quantas cores você ativou no vim. Cores correspondentes para cada número.
Joelostblom
46
Este é o que eu 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.
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
Bom, isso evita a necessidade de ter os plugins linha de status fantasia atleast para o meu caso de uso, colírio para os olhos :)
Nishant
1
Como você faz as cores funcionarem?
trusktr
Tentei colocar isso depois que qualquer um colorschemefoi definido, mas vejo apenas uma linha de status de tom duplo.
trusktr
@trusktr, Não é fácil de explicar .... Você precisa colocar os 2 primeiros blocos no arquivo vimrc e o bloco de cores no arquivo de esquema de cores atual. Você pode encontrar seu arquivo de esquema de cores atual com este comando::colorscheme
Reman
1
Sua busca destaque seria mais curto (sem função) apenas usando operador ternário como este -> echo &hls ? 'H' : '' no meu caso:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
SergioAraujo
20
O que eu encontrei útil é saber qual copiar / colar tampão (registo) é atualmente ativo: %{v:register}. Caso contrário, minha linha de status completa se parece quase exatamente com a linha padrão.
O que significa um registro estar ativo? Minha (má) compreensão dos registros é que eles eram basicamente pranchetas para armazenar texto.
Roymunson 12/07/19
15
Algumas vezes menos é mais, você realmente precisa saber a porcentagem do arquivo que está ao codificar? E o tipo de arquivo?
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()}
Também prefiro cores mínimas para não distrair do código.
Atualmente, uso essas configurações da barra de status:
set laststatus=2
set statusline=\ %f%m%r%h%w\ %=%({%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y}%)\ %([%l,%v][%p%%]\ %)
Respostas:
Parece powerline é onde está atualmente: -
Linha de status normal
Linhas de status personalizadas para outros plugins (por exemplo, ctrlp )
fonte
Aqui está o meu:
E aqui estão as cores que eu usei:
fonte
guifg
eguibg
é a favorgvim
. Se você estiver executandovim
em um terminal, tentectermfg
e, emctermbg
vez disso. Você também precisará de cores diferentes, os números 1-16 ou 1-256, dependendo de quantas cores você ativou no vim. Cores correspondentes para cada número.Este é o que eu uso:
Destaque em? função:
Cores (adaptado de ligh2011.vim):
fonte
colorscheme
foi definido, mas vejo apenas uma linha de status de tom duplo.:colorscheme
echo &hls ? 'H' : ''
no meu caso:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
O que eu encontrei útil é saber qual copiar / colar tampão (registo) é atualmente ativo:
%{v:register}
. Caso contrário, minha linha de status completa se parece quase exatamente com a linha padrão.fonte
v:register
parece muito útil mesmo!Algumas vezes menos é mais, você realmente precisa saber a porcentagem do arquivo que está ao codificar? E o tipo de arquivo?
Também prefiro cores mínimas para não distrair do código.
Retirado de: https://github.com/krisleech/vimfiles
Nota:
rvm#statusline
é específico do Ruby efugitive#statusline
específico do git.fonte
Atualmente, uso essas configurações da barra de status:
Meu arquivo .vimrc completo: http://gabriev82.altervista.org/projects/vim-configuration/
fonte
set statusline=%<%f%m\ \[%{&ff}:%{&fenc}:%Y]\ %{getcwd()}\ \ \[%{strftime('%Y/%b/%d\ %a\ %I:%M\ %p')}\]\ %=\ Line:%l\/%L\ Column:%c%V\ %P
Isso é meu, dê como sugestão
fonte