Более полезная статусная линия в vim?

Id нравится делать мою статусную линию в vim более информативной и интересной, и для этого мне нужны некоторые идеи. Как вы настроили свою статусную линию?

Ответ 2

Edit: -

Примечание vim-airline набирает какая-то тяга, как новый вариант vimscript, как powerline питон.


Кажется, powerline находится в эти дни: -

Нормальная строка состояния

powerline

Индивидуальные строки состояния для других плагинов (например, ctrlp)

powerline

Ответ 3

Здесь моя:

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

vim statusline

И вот цвета, которые я использовал:

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

Ответ 4

Это я использую:

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.

Выделите? Функция:

function! HighlightSearch()
  if &hls
    return 'H'
  else
    return ''
  endif
endfunction

Цвета (адаптированные от 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

My StatusLine

Ответ 5

То, что я нашел полезным, - это знать, какой буфер/регистр буфера (реестра) активен в настоящий момент: %{v:register}. В противном случае моя полная строка состояния выглядит почти так же, как стандартная строка.

:set statusline=%<%f\ %h%m%r\ %y%=%{v:register}\ %-14.(%l,%c%V%)\ %P

Ответ 6

В несколько раз меньше, вам действительно нужно знать процент через файл, который вы используете при кодировании? Как насчет типа файла?

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()}       

statusline

statusline

Я также предпочитаю минимальный цвет, чтобы не отвлекаться от кода.

Взято из: https://github.com/krisleech/vimfiles

Примечание: rvm#statusline - специфичный для Ruby, а fugitive#statusline - git.

Ответ 7

В настоящее время я использую настройки этой строки:

set laststatus=2
set statusline=\ %f%m%r%h%w\ %=%({%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y}%)\ %([%l,%v][%p%%]\ %)

Мой полный файл .vimrc: http://gabriev82.altervista.org/projects/vim-configuration/

Ответ 8

set statusline=%<%f%m\ \[%{&ff}:%{&fenc}:%Y]\ %{getcwd()}\ \ \[%{strftime('%Y/%b/%d\ %a\ %I:%M\ %p')}\]\ %=\ Line:%l\/%L\ Column:%c%V\ %P

Это мое, дайте в качестве предложения