LINUX.ORG.RU

История изменений

Исправление StillSteal, (текущая версия) :

У меня вот такое, но еще немоного в процессе настройки. Что имеется: меняется только цвет filename в инсерт моде на один цвет и если файл изменен на другой, также при помощи coc плагина выводится инфа git и количество измененных строк. В остальном пока стандарт. Планирую еще добавить информацию о количестве ошибок в баффере (дел на 10 минут, просто пока не заморачивался), ну и настроить под большее количество filetype по примеру fugitiveblame(но это уже может занять какое-то количетсво времени. Все эти airline плагины оверблоатед с кучей ненужной инфы. Сам только как недели две назад слез с плагина lightline.

set statusline=%{MyStatusLine()}

function! MyStatusLine() abort
  let l:filename = '%< %f '
  if w:active && (mode() == 'i' || mode() == 's')
    let l:filename = '%<%1* %f %*'
  elseif &modified
    let l:filename = '%<%2* %f %*'
  endif
  let l:redraw = '%{MyStatusLine()}'
  let l:coc = "%{get(g:,'coc_git_status','')}%{get(b:,'coc_git_status','')}%{get(b:,'coc_git_blame','')}"

  let l:statusline = l:redraw . l:filename . "%h%r " . l:coc . "%=%-12.(%l,%c%V%) %y  %P "
  call setwinvar(winnr(), '&statusline', l:statusline)
  return ''
endfunction

augroup SetStatusLine
  autocmd!
  autocmd VimEnter,WinEnter,BufWinEnter * let w:active = 1
  autocmd WinNew,WinLeave * let w:active = 0
  autocmd FileType fugitiveblame setlocal statusline=%<\ %(%l/%L%)\ %=%P\ 
augroup END

Исправление StillSteal, :

У меня вот такое, но еще немоного в процессе настройки. Что имеется: меняется только цвет filename в инсерт моде на один цвет и если файл изменен на другой, также при помощи coc плагина выводится инфа git и количество измененных строк. В остальном пока стандарт. Планирую еще добавить информацию о количестве ошибок в баффере (дел на 10 минут, просто пока не заморачивался), ну и настроить под большее количество filetype по примеру fugitiveblame(но это уже может занять какое-то количетсво времени. Все эти airline плагины оверблоатед с кучей ненужной инфы. Сам только как недели две назад слез с плагина lightline.

set statusline=%{MyStatusLine()}

function! MyStatusLine() abort
  let l:filename = '%< %f '
  if w:active && (mode() == 'i' || mode() == 's')
    let l:filename = '%<%1* %f %*'
  elseif &modified
    let l:filename = '%<%2* %f %*'
  endif
  let l:redraw = '%{MyStatusLine()}'
  let l:statusline = l:redraw . l:filename . "%h%r  %{get(g:,'coc_git_status','')}%{get(b:,'coc_git_status','')}%{get(b:,'coc_git_blame','')}%=%-12.(%l,%c%V%) %y  %P "
  call setwinvar(winnr(), '&statusline', l:statusline)
  return ''
endfunction

augroup SetStatusLine
  autocmd!
  autocmd VimEnter,WinEnter,BufWinEnter * let w:active = 1
  autocmd WinNew,WinLeave * let w:active = 0
  autocmd FileType fugitiveblame setlocal statusline=%<\ %(%l/%L%)\ %=%P\ 
augroup END

Исходная версия StillSteal, :

У меня вот такое, но еще немоного в процессе настройки. Что имеется: меняется только цвет filename в инсерт моде на один цвет и если файл изменен на другой, также при помощи coc плагина выводится инфа git и количество измененных строк. В остальном пока стандарт. Планирую еще добавить информацию о количестве ошибок в баффере (дел на 10 минут, просто пока не заморачивался), ну и настроить под бошее количество filetype как по примеру fugitiveblame. Все эти airline плагины оверблоатед с кучей ненужной инфы.

set statusline=%{MyStatusLine()}

function! MyStatusLine() abort
  let l:filename = '%< %f '
  if w:active && (mode() == 'i' || mode() == 's')
    let l:filename = '%<%1* %f %*'
  elseif &modified
    let l:filename = '%<%2* %f %*'
  endif
  let l:redraw = '%{MyStatusLine()}'
  let l:statusline = l:redraw . l:filename . "%h%r  %{get(g:,'coc_git_status','')}%{get(b:,'coc_git_status','')}%{get(b:,'coc_git_blame','')}%=%-12.(%l,%c%V%) %y  %P "
  call setwinvar(winnr(), '&statusline', l:statusline)
  return ''
endfunction

augroup SetStatusLine
  autocmd!
  autocmd VimEnter,WinEnter,BufWinEnter * let w:active = 1
  autocmd WinNew,WinLeave * let w:active = 0
  autocmd FileType fugitiveblame setlocal statusline=%<\ %(%l/%L%)\ %=%P\ 
augroup END