From 837bed8955fefb597e9cc77569e1879daafb52ae Mon Sep 17 00:00:00 2001 From: John Solntsev Date: Thu, 11 Nov 2021 01:45:49 +0300 Subject: [PATCH] Add pep8 style checker (as compiler) and tab line. --- colors/custom_scheme_dark.vim | 38 +++++++++++--------- compiler/pycodestyle.vim | 11 ++++++ vimrc | 66 +++++++++++++++++++++++++---------- 3 files changed, 80 insertions(+), 35 deletions(-) create mode 100644 compiler/pycodestyle.vim diff --git a/colors/custom_scheme_dark.vim b/colors/custom_scheme_dark.vim index eed6a97..07f36a4 100644 --- a/colors/custom_scheme_dark.vim +++ b/colors/custom_scheme_dark.vim @@ -9,30 +9,34 @@ let color_name="custom_scheme_dark" "=== Цвета псевдоинтерфейса === "Цвета линейки строк (та, что слева номера строк показыват) -hi Normal ctermbg=None -hi LineNr cterm=NONE ctermfg=241 ctermbg=NONE -hi CursorLineNr cterm=bold ctermfg=250 ctermbg=237 +hi Normal ctermbg=None +hi LineNr cterm=NONE ctermfg=241 ctermbg=NONE +hi CursorLineNr cterm=bold ctermfg=250 ctermbg=237 hi CursorLine cterm=underline -hi ModeMsg cterm=NONE ctermfg=0 ctermbg=14 +hi ModeMsg cterm=NONE ctermfg=0 ctermbg=14 hi NonText ctermfg=215 -hi Visual ctermbg=241 -hi ColorColumn ctermbg=233 +hi Visual ctermbg=241 +hi ColorColumn ctermbg=250 + +hi TabLine cterm=underline ctermfg=252 ctermbg=None +hi TabLineSel cterm=None ctermfg=0 ctermbg=111 +hi TabLineFill cterm=underline ctermfg=None ctermbg=None " для заголовков markdown hi Title cterm=bold ctermfg=171 "Цвета, используемые в статусной строке -hi StatusLineEditorMode ctermfg=0 ctermbg=111 -hi StatusLineFileName cterm=bold ctermfg=252 ctermbg=NONE -hi StatusLineFileFormat ctermfg=247 ctermbg=NONE -hi StatusLineEmpty ctermbg=NONE -hi StatusLineReadOnlyFlag ctermfg=247 ctermbg=NONE -hi StatusLineEncoding ctermfg=247 ctermbg=NONE -hi StatusLineFileType cterm=bold ctermfg=252 ctermbg=NONE -hi StatusLinePosition ctermfg=0 ctermbg=111 +hi StatusLineEditorMode ctermfg=0 ctermbg=111 +hi StatusLineFileName cterm=bold ctermfg=252 ctermbg=NONE +hi StatusLineFileFormat ctermfg=247 ctermbg=NONE +hi StatusLineEmpty ctermbg=NONE +hi StatusLineReadOnlyFlag ctermfg=247 ctermbg=NONE +hi StatusLineEncoding ctermfg=247 ctermbg=NONE +hi StatusLineFileType cterm=bold ctermfg=252 ctermbg=NONE +hi StatusLinePosition ctermfg=0 ctermbg=111 "Vim-Gitgutter цвета -hi SignColumn ctermbg=NONE +hi SignColumn ctermbg=NONE hi GitGutterAdd cterm=bold ctermfg=2 hi GitGutterChange cterm=bold ctermfg=3 hi GitGutterDelete cterm=bold ctermfg=1 @@ -57,5 +61,5 @@ hi Type ctermfg=203 hi Delimiter ctermfg=171 -hi Todo cterm=bold ctermfg=0 ctermbg=186 -hi Error ctermbg=197 +hi Todo cterm=bold ctermfg=0 ctermbg=186 +hi Error ctermbg=197 diff --git a/compiler/pycodestyle.vim b/compiler/pycodestyle.vim new file mode 100644 index 0000000..fe4a369 --- /dev/null +++ b/compiler/pycodestyle.vim @@ -0,0 +1,11 @@ +if exists("current_compiller") + finish +endif +let current_compiller = "pycodestyle" + +if exists(":CompilerSet") != 2 + command -nargs=* CompilerSet setlocal +endif + +CompilerSet makeprg=pycodestyle\ % +CompilerSet errorformat=%f:%l:%c:\ %t%n\ %m diff --git a/vimrc b/vimrc index 1982177..4de3796 100644 --- a/vimrc +++ b/vimrc @@ -1,12 +1,3 @@ -function LessBehaviour() - if (!&modifiable || &ro) - set nonumber - set nospell - set laststatus=0 - set cmdheight=1 - endif -endfunction - "Функция получения текущего режима редактора function GetMode() let l:editor_mode = mode() @@ -61,7 +52,39 @@ set nocompatible set encoding=utf8 -set showtabline=0 "Убираем таблайн сверху +set showtabline=2 +set tabline=%!TabLine() + +function TabLine() + let s = '' + + for i in range(tabpagenr('$')) + " Выбираем, какую вкладку подсвечивать + if i + 1 == tabpagenr() + let s .= '%#TabLineSel#' + else + let s .= '%#TabLine#' + endif + + "Указываем номер вкладки + let s .= ' ' . (i + 1) . ':' + + "Получаем подпись (имя файла) из TabLabel + let s .= ' %{TabLabel(' . (i + 1) . ')} ' + endfor + + " after the last tab fill with TabLineFill and reset tab page nr + let s .= '%#TabLineFill#%T' + + return s +endfunction + +function TabLabel(n) + let buflist = tabpagebuflist(a:n) + let winnr = tabpagewinnr(a:n) + + return bufname(buflist[winnr - 1]) +endfunction "Включает колонку нумерации строк set number @@ -100,21 +123,19 @@ set softtabstop=4 set autoindent set smartindent -"Ограничиваем себя в размере строки -set colorcolumn=80 - "Заставляем себя юзать только hjkl -nnoremap :echoe "Use H pls" -nnoremap :echoe "Use L pls" -nnoremap :echoe "Use K pls" -nnoremap :echoe "Use J pls" +"nnoremap :echoe "Use H pls" +"nnoremap :echoe "Use L pls" +"nnoremap :echoe "Use K pls" +"nnoremap :echoe "Use J pls" "Не тянись до ESC imap jk "Кеймапы для запуска Python скриптов autocmd VimEnter *.py nmap :!python3 % -autocmd VimEnter *.py nmap :!pylint % +autocmd VimEnter *.py nmap :make +autocmd VimEnter *.py set colorcolumn=80 "Кеймапы запуска Bash скриптов autocmd VimEnter *.sh nnoremap :!bash % @@ -131,6 +152,15 @@ colorscheme custom_scheme_dark "Довольно удобная реализация поддержки русских букв (говорят официальная) set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz +function LessBehaviour() + if (!&modifiable || &ro) + set nonumber + set nospell + set laststatus=0 + set cmdheight=1 + endif +endfunction + "Автоматическое включение LessBehaviour augroup ReadOnly au!