1
0
Fork 0

Status line update.

Status line:
 - Show git branch on status line;
 - Rename and change colors for status line.
This commit is contained in:
John Solncev 2021-04-01 01:17:13 +03:00
parent a9155a44fe
commit af07768694
2 changed files with 64 additions and 42 deletions

View file

@ -10,29 +10,35 @@ let color_name="my_first_vim_theme"
"=== Цвета псевдоинтерфейса === "=== Цвета псевдоинтерфейса ===
"Цвета линейки строк (та, что слева номера строк показыват) "Цвета линейки строк (та, что слева номера строк показыват)
hi LineNr ctermfg=250 ctermbg=234 cterm=NONE hi LineNr ctermfg=250 ctermbg=234 cterm=NONE
hi CursorLineNr ctermfg=250 ctermbg=236 cterm=bold hi CursorLineNr ctermfg=250 ctermbg=236 cterm=bold
hi CursorLine cterm=underline hi CursorLine cterm=underline
hi ModeMsg ctermfg=0 ctermbg=14 cterm=NONE hi ModeMsg ctermfg=0 ctermbg=14 cterm=NONE
hi NonText ctermfg=215 hi NonText ctermfg=215
hi Visual ctermbg=241 hi Visual ctermbg=241
"Цвета, используемые в статусной строке "Цвета, используемые в статусной строке
hi StatusLineGrey ctermfg=0 ctermbg=251 hi StatusLineEditorMode ctermfg=15 ctermbg=57 cterm=bold
hi StatusLineWhite ctermfg=0 ctermbg=15 hi StatusLineGitBranch ctermfg=15 ctermbg=63 cterm=bold
hi StatusLineCyan ctermfg=0 ctermbg=14 hi StatusLineFilePath ctermfg=0 ctermbg=15
hi StatusLineClear cterm=NONE hi StatusLineFileFormat ctermfg=0 ctermbg=251
hi StatusLineEmpty ctermbg=239
hi StatusLineReadOnlyFlag ctermfg=0 ctermbg=239
hi StatusLineEncoding ctermfg=0 ctermbg=251
hi StatusLineFileType ctermfg=0 ctermbg=15
hi StatusLinePosition ctermfg=15 ctermbg=57
hi StatusLinePercentPos ctermfg=15 ctermbg=63
"Vim-Gitgutter цвета "Vim-Gitgutter цвета
hi SignColumn ctermbg=NONE hi SignColumn ctermbg=NONE
hi GitGutterAdd ctermfg=2 cterm=bold hi GitGutterAdd ctermfg=2 cterm=bold
hi GitGutterChange ctermfg=3 cterm=bold hi GitGutterChange ctermfg=3 cterm=bold
hi GitGutterDelete ctermfg=1 cterm=bold hi GitGutterDelete ctermfg=1 cterm=bold
"=== Подсвтека синтаксиса === "=== Подсвтека синтаксиса ===
hi Comment ctermfg=248 hi Comment ctermfg=248
hi Constant ctermfg=105 hi Constant ctermfg=105
hi Identifier ctermfg=111 hi Identifier ctermfg=111
hi Statement ctermfg=204 cterm=bold hi Statement ctermfg=204 cterm=bold
hi PreProc ctermfg=41 hi PreProc ctermfg=41
hi Type ctermfg=79 hi Type ctermfg=79

60
vimrc
View file

@ -1,8 +1,8 @@
"Функция получения текущего режима редактора "Функция получения текущего режима редактора
function GetMode() function GetMode()
let s:editor_mode = mode() let l:editor_mode = mode()
let s:editor_modes_list = [ let l:editor_modes_list = [
\ "NORMAL", \ "NORMAL",
\ "INSERT", \ "INSERT",
\ "VISUAL", \ "VISUAL",
@ -11,27 +11,38 @@ function GetMode()
\ "REPLACE" \ "REPLACE"
\ ] \ ]
if s:editor_mode == "n" if l:editor_mode == "n"
return s:editor_modes_list[0] return l:editor_modes_list[0]
elseif s:editor_mode == "i" elseif l:editor_mode == "i"
return s:editor_modes_list[1] return l:editor_modes_list[1]
elseif s:editor_mode == "v" elseif l:editor_mode == "v"
return s:editor_modes_list[2] return l:editor_modes_list[2]
elseif s:editor_mode == "V" elseif l:editor_mode == "V"
return s:editor_modes_list[3] return l:editor_modes_list[3]
elseif s:editor_mode =="\<C-v>" elseif l:editor_mode =="\<C-v>"
return s:editor_modes_list[4] return l:editor_modes_list[4]
elseif s:editor_mode == "R" elseif l:editor_mode == "R"
return s:editor_modes_list[5] return l:editor_modes_list[5]
else else
return "?MODE" return "?MODE"
endif endif
endfunction endfunction
"Git branch
function GetGitBranchName()
return system('git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d "\n"')
endfunction
function StatuslineGetGitBranch()
let l:branch = GetGitBranchName()
return strlen(l:branch) > 0 ? l:branch : ''
endfunction
"Менеджер плагинов: Vim-Plug "Менеджер плагинов: Vim-Plug
"Подключение плагинов (для установки - :PlugInstal) "Подключение плагинов (для установки - :PlugInstal)
call plug#begin('~/.vim/plugged') call plug#begin('~/.vim/plugged')
@ -60,13 +71,18 @@ set noshowmode
set laststatus=2 set laststatus=2
set statusline= set statusline=
set statusline+=%#StatusLineCyan#\ %{GetMode()}\ set statusline+=%#StatusLineEditorMode#\ %{GetMode()}\
set statusline+=%#StatusLineWhite#\ %f\ if strlen(GetGitBranchName()) > 0
set statusline+=%#StatusLineGrey#\ %{&ff}\ set statusline+=%#StatusLineGitBranch#\ %{StatuslineGetGitBranch()}\
set statusline+=%#StatusLineClear#%= endif
set statusline+=%r\ %y\ set statusline+=%#StatusLineFileName#\ %f\
set statusline+=%#StatusLineWhite#\ %l:%c\ set statusline+=%#StatusLineFileFormat#\ %{&ff}\
set statusline+=%#StatusLineCyan#\ %p%%\ set statusline+=%#StatusLineEmpty#%=
set statusline+=%#StatusLineReadOnlyFlag#\ %r\
set statusline+=%#StatusLineEncoding#\ %{&fileencoding?&fileencoding:&encoding}\
set statusline+=%#StatusLineFileType#\ %{&ft}\
set statusline+=%#StatusLinePercentPos#\ %p%%\
set statusline+=%#StatusLinePosition#\ %l:%c\
"Выключает перенос строк "Выключает перенос строк
set nowrap set nowrap
@ -99,7 +115,7 @@ autocmd BufRead *.sh nnoremap <F5> :!bash %<CR>
autocmd BufRead *.md set wrap autocmd BufRead *.md set wrap
"Кеймапы обновления темы vim "Кеймапы обновления темы vim
autocmd BufRead *.vim nnoremap <F5> :colorscheme my_first_scheme<CR> autocmd BufRead *.vim nnoremap <F5> :source %<CR>
"Установка своей цветовой схемы "Установка своей цветовой схемы
colorscheme my_first_scheme colorscheme my_first_scheme