From a9155a44fe01ce6055064c57ee9091a97e0afac9 Mon Sep 17 00:00:00 2001 From: John Solncev Date: Wed, 31 Mar 2021 13:47:11 +0300 Subject: [PATCH] New status line. Status line: - Show current editor mode; - Change colors in status line; - Replaced "column:line" "percentage through file line"; - Delete showing buffer number. --- colors/my_first_scheme.vim | 19 +++++++++++------ vimrc | 43 +++++++++++++++++++++++++++++++++++--- 2 files changed, 53 insertions(+), 9 deletions(-) diff --git a/colors/my_first_scheme.vim b/colors/my_first_scheme.vim index b3ec28b..a6493dd 100644 --- a/colors/my_first_scheme.vim +++ b/colors/my_first_scheme.vim @@ -10,22 +10,29 @@ 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 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 StatusLineClear cterm=NONE + +"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 Comment ctermfg=248 hi Constant ctermfg=105 hi Identifier ctermfg=111 -hi Statement ctermfg=204 cterm=bold +hi Statement ctermfg=204 cterm=bold hi PreProc ctermfg=41 hi Type ctermfg=79 diff --git a/vimrc b/vimrc index dedb65b..0b12535 100644 --- a/vimrc +++ b/vimrc @@ -1,3 +1,37 @@ +"Функция получения текущего режима редактора +function GetMode() + let s:editor_mode = mode() + + let s:editor_modes_list = [ + \ "NORMAL", + \ "INSERT", + \ "VISUAL", + \ "VISUAL-LINE", + \ "VISUAL-BLOCK", + \ "REPLACE" + \ ] + + if s:editor_mode == "n" + return s:editor_modes_list[0] + + elseif s:editor_mode == "i" + return s: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 =="\" + return s:editor_modes_list[4] + + elseif s:editor_mode == "R" + return s:editor_modes_list[5] + + else + return "?MODE" + endif +endfunction + "Менеджер плагинов: Vim-Plug "Подключение плагинов (для установки - :PlugInstal) call plug#begin('~/.vim/plugged') @@ -19,17 +53,20 @@ set number set numberwidth=4 set cursorline +"Не показывать режим (он отображается в нашей строке статуса) +set noshowmode + "Настройки строки статуса set laststatus=2 set statusline= -set statusline+=%#StatusLineGrey#\ %n:\ +set statusline+=%#StatusLineCyan#\ %{GetMode()}\ set statusline+=%#StatusLineWhite#\ %f\ -set statusline+=%#StatusLineCyan#\ %{&ff}\ +set statusline+=%#StatusLineGrey#\ %{&ff}\ set statusline+=%#StatusLineClear#%= set statusline+=%r\ %y\ -set statusline+=%#StatusLineCyan#\ %p%%\ set statusline+=%#StatusLineWhite#\ %l:%c\ +set statusline+=%#StatusLineCyan#\ %p%%\ "Выключает перенос строк set nowrap