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 CursorLineNr ctermfg=250 ctermbg=236 cterm=bold
hi CursorLine cterm=underline
hi ModeMsg ctermfg=0 ctermbg=14 cterm=NONE
hi NonText ctermfg=215
hi Visual ctermbg=241
hi LineNr ctermfg=250 ctermbg=234 cterm=NONE
hi CursorLineNr ctermfg=250 ctermbg=236 cterm=bold
hi CursorLine cterm=underline
hi ModeMsg ctermfg=0 ctermbg=14 cterm=NONE
hi NonText ctermfg=215
hi Visual ctermbg=241
"Цвета, используемые в статусной строке
hi StatusLineGrey ctermfg=0 ctermbg=251
hi StatusLineWhite ctermfg=0 ctermbg=15
hi StatusLineCyan ctermfg=0 ctermbg=14
hi StatusLineClear cterm=NONE
hi StatusLineEditorMode ctermfg=15 ctermbg=57 cterm=bold
hi StatusLineGitBranch ctermfg=15 ctermbg=63 cterm=bold
hi StatusLineFilePath ctermfg=0 ctermbg=15
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 цвета
hi SignColumn ctermbg=NONE
hi GitGutterAdd ctermfg=2 cterm=bold
hi GitGutterChange ctermfg=3 cterm=bold
hi GitGutterDelete ctermfg=1 cterm=bold
hi SignColumn ctermbg=NONE
hi GitGutterAdd ctermfg=2 cterm=bold
hi GitGutterChange ctermfg=3 cterm=bold
hi GitGutterDelete ctermfg=1 cterm=bold
"=== Подсвтека синтаксиса ===
hi Comment ctermfg=248
hi Constant ctermfg=105
hi Identifier ctermfg=111
hi Statement ctermfg=204 cterm=bold
hi PreProc ctermfg=41
hi Type ctermfg=79
hi Comment ctermfg=248
hi Constant ctermfg=105
hi Identifier ctermfg=111
hi Statement ctermfg=204 cterm=bold
hi PreProc ctermfg=41
hi Type ctermfg=79

60
vimrc
View file

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