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

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

Довольно приятный материал для статусных линий здесь:

Редактировать:-

Заметьте, что vim-авиакомпания получает некоторую тягу, поскольку новый параметр vimscript, поскольку powerline ушел на python.


Кажется, что линия электропередач находится там, где она находится в эти дни:

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

линия электропередачи

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

линия электропередачи

Вот мой:

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 

Это тот, который я использую:

 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 

Мой статусLine

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

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

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

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

строка статуса

строка статуса

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

Снято с: https://github.com/krisleech/vimfiles

Примечание. rvm#statusline – специфичная для Ruby и fugitive#statusline – git.

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

 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/

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

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

  • Vim: применить настройки к файлам в каталоге
  • Может ли vim контролировать изменения в реальном времени в файле
  • Могу ли я отобразить Alt в Vim?
  • Как скопировать Ctrl + A и Ctrl + Shift + по-другому?
  • Вставить в режиме вставки?
  • Как заставить vim делать обычную (bash like) вкладку завершения для имен файлов?
  • Давайте будем гением компьютера.