Commits

Anonymous committed 3220c9f

statusline imprvmnts

Comments (0)

Files changed (1)

 let g:colorsamplerpack_loaded = 1
 let did_install_default_menus = 1
 let did_install_syntax_menu = 1
+let g:user_zen_leader_key = '<D-Space>'
 
 set background=dark
-colorscheme xoria256
+colorscheme molokai
 
 " Settings --------------------------------------------------------------------
 set nocompatible
 
 
 " Status line opts ------------------------------------------------------------
+hi StatColor guibg=#95e454 guifg=black ctermbg=lightgreen ctermfg=black
+hi Modified guibg=orange guifg=black ctermbg=lightred ctermfg=black
+
 set laststatus=2
 set statusline=
+
 " Формат статусной строки
-set stl+=\ %#StatusLineBufferNumber#
-set stl+=[%n]    " Номер буфера
-set stl+=%*[
-set stl+=%<
-set stl+=%f      " Имя файла загруженного в буфер
-set stl+=%*]
-set stl+=[%{&ft} " Тип файла, загруженного в буфер, например [cpp]
-set stl+=\ \|\ 
-set stl+=%{&fileencoding} " Кодировка файла
-set stl+=\ \|\ 
-set stl+=%{&ff}] " Формат файла
-set stl+=%{SyntasticStatuslineFlag()}
-set stl+=%=      " Выравнивание по правому краю
-set stl+=[
-set stl+=Line:
-set stl+=\ %l/   " Номер строки
-set stl+=%L      " Количество строк в буфере
-set stl+=\ \|\  
-set stl+=Col:
-set stl+=\ %3v   " Номер колонки
-set stl+=]
-set stl+=[%P]    " Позиция текста, отображаемого в окне
-                 " по отношению к началу файла в процентах
-set stl+=%#error#%m%*       " Флаг состояния несохранённых изменений
-set stl+=%#warningmsg#%r%*  " Флаг состояния 'только для чтения
+function! MyStatusLine(mode)
+    let stl=""
+    if a:mode == 'Enter'
+        let stl .= "%#StatColor#"
+    endif
+    let stl.="[%n]"    " Номер буфера
+    let stl.="["
+    let stl.="%<"
+    let stl.="%f"     " Имя файла загруженного в буфер
+    let stl.="]"
+    if a:mode == 'Enter'
+        let stl .= "%*"
+    endif
+    let stl .= "%#Modified#%m"
+    if a:mode == 'Leave'
+        let stl .= "%*%r"
+    elseif a:mode == 'Enter'
+        let stl .= "%r%*"
+    endif
+    let stl.=" [%{&ft}" " Тип файла, загруженного в буфер, например [cpp]
+    let stl.="\ \|\ "
+    let stl.="%{&fileencoding}" " Кодировка файла
+    let stl.="\ \|\ " 
+    let stl.="%{&ff}]" " Формат файла
+    let stl.="%{SyntasticStatuslineFlag()}"
+    "let stl.="%="      " Выравнивание по правому краю
+    let stl.=" ["
+    let stl.="Line:"
+    let stl.="\ %l/"   " Номер строки
+    let stl.="%L"      " Количество строк в буфере
+    let stl.="\ \|\ "
+    let stl.="Col:"
+    let stl.="\ %3v"   " Номер колонки
+    let stl.="]"
+    let stl.=" [Pos: %P]"
+    return stl
+endfunction
+
+au WinEnter * setlocal statusline=%!MyStatusLine('Enter')
+au WinLeave * setlocal statusline=%!MyStatusLine('Leave')
+set statusline=%!MyStatusLine('Enter')
+
+
+function! InsertStatuslineColor(mode)
+  if a:mode == 'i'
+    hi StatColor guibg=orange ctermbg=lightred
+  elseif a:mode == 'r'
+    hi StatColor guibg=#e454ba ctermbg=magenta
+  elseif a:mode == 'v'
+    hi StatColor guibg=#e454ba ctermbg=magenta
+  else
+    hi StatColor guibg=red ctermbg=red
+  endif
+endfunction 
+
+au InsertEnter * call InsertStatuslineColor(v:insertmode)
+au InsertLeave * hi StatColor guibg=#95e454 guifg=black ctermbg=lightgreen ctermfg=black
+
 
 
 " Tag list settings -----------------------------------------------------------