2021-10-21 00:17:11 +03:00
|
|
|
|
function LessBehaviour()
|
|
|
|
|
if (!&modifiable || &ro)
|
|
|
|
|
set nonumber
|
|
|
|
|
set nospell
|
|
|
|
|
set laststatus=0
|
|
|
|
|
set cmdheight=1
|
|
|
|
|
endif
|
|
|
|
|
endfunction
|
|
|
|
|
|
2021-03-31 13:47:11 +03:00
|
|
|
|
"Функция получения текущего режима редактора
|
|
|
|
|
function GetMode()
|
2021-04-01 01:17:13 +03:00
|
|
|
|
let l:editor_mode = mode()
|
2021-03-31 13:47:11 +03:00
|
|
|
|
|
2021-04-01 01:17:13 +03:00
|
|
|
|
let l:editor_modes_list = [
|
2021-06-07 13:50:31 +03:00
|
|
|
|
\ "NORMAL",
|
|
|
|
|
\ "COMMAND",
|
2021-03-31 13:47:11 +03:00
|
|
|
|
\ "INSERT",
|
|
|
|
|
\ "VISUAL",
|
|
|
|
|
\ "VISUAL-LINE",
|
|
|
|
|
\ "VISUAL-BLOCK",
|
|
|
|
|
\ "REPLACE"
|
|
|
|
|
\ ]
|
|
|
|
|
|
2021-04-01 01:17:13 +03:00
|
|
|
|
if l:editor_mode == "n"
|
|
|
|
|
return l:editor_modes_list[0]
|
2021-03-31 13:47:11 +03:00
|
|
|
|
|
2021-06-07 13:50:31 +03:00
|
|
|
|
elseif l:editor_mode == "c"
|
2021-04-01 01:17:13 +03:00
|
|
|
|
return l:editor_modes_list[1]
|
2021-03-31 13:47:11 +03:00
|
|
|
|
|
2021-06-07 13:50:31 +03:00
|
|
|
|
elseif l:editor_mode == "i"
|
2021-04-01 01:17:13 +03:00
|
|
|
|
return l:editor_modes_list[2]
|
2021-06-07 13:50:31 +03:00
|
|
|
|
|
|
|
|
|
elseif l:editor_mode == "v"
|
2021-04-01 01:17:13 +03:00
|
|
|
|
return l:editor_modes_list[3]
|
2021-06-07 13:50:31 +03:00
|
|
|
|
elseif l:editor_mode == "V"
|
2021-04-01 01:17:13 +03:00
|
|
|
|
return l:editor_modes_list[4]
|
2021-06-07 13:50:31 +03:00
|
|
|
|
elseif l:editor_mode =="\<C-v>"
|
|
|
|
|
return l:editor_modes_list[5]
|
2021-03-31 13:47:11 +03:00
|
|
|
|
|
2021-04-01 01:17:13 +03:00
|
|
|
|
elseif l:editor_mode == "R"
|
2021-06-07 13:50:31 +03:00
|
|
|
|
return l:editor_modes_list[6]
|
2021-03-31 13:47:11 +03:00
|
|
|
|
|
|
|
|
|
else
|
2021-06-07 13:50:31 +03:00
|
|
|
|
echo l:editor_mode
|
2021-03-31 13:47:11 +03:00
|
|
|
|
return "?MODE"
|
|
|
|
|
endif
|
|
|
|
|
endfunction
|
|
|
|
|
|
2021-03-29 12:13:02 +03:00
|
|
|
|
"Менеджер плагинов: Vim-Plug
|
|
|
|
|
"Подключение плагинов (для установки - :PlugInstal)
|
|
|
|
|
call plug#begin('~/.vim/plugged')
|
2021-03-31 00:06:07 +03:00
|
|
|
|
Plug 'airblade/vim-gitgutter'
|
2021-03-29 12:13:02 +03:00
|
|
|
|
call plug#end()
|
|
|
|
|
|
|
|
|
|
"Включаем подсветку синтаксиса
|
2021-02-04 13:20:02 +03:00
|
|
|
|
syntax on
|
|
|
|
|
|
2020-10-20 23:14:27 +03:00
|
|
|
|
set nocompatible
|
2021-03-31 00:06:07 +03:00
|
|
|
|
" Включение поддержки мыши
|
|
|
|
|
"set mouse=a
|
2020-10-20 23:14:27 +03:00
|
|
|
|
|
2020-10-05 09:41:03 +03:00
|
|
|
|
set encoding=utf8
|
|
|
|
|
|
2021-10-25 21:33:28 +03:00
|
|
|
|
set showtabline=0 "Убираем таблайн сверху
|
|
|
|
|
|
|
|
|
|
"Запрещаем менять вид курсора
|
|
|
|
|
let $NVIM_TUI_ENABLE_CURSOR_SHAPE = 0
|
|
|
|
|
set guicursor=
|
|
|
|
|
|
2020-10-05 09:41:03 +03:00
|
|
|
|
"Включает колонку нумерации строк
|
|
|
|
|
set number
|
|
|
|
|
set numberwidth=4
|
2020-10-18 18:08:17 +03:00
|
|
|
|
set cursorline
|
2020-10-05 09:41:03 +03:00
|
|
|
|
|
2021-03-31 13:47:11 +03:00
|
|
|
|
"Не показывать режим (он отображается в нашей строке статуса)
|
|
|
|
|
set noshowmode
|
|
|
|
|
|
2021-03-31 00:06:07 +03:00
|
|
|
|
"Настройки строки статуса
|
2020-10-05 09:41:03 +03:00
|
|
|
|
set laststatus=2
|
2021-03-31 00:06:07 +03:00
|
|
|
|
|
|
|
|
|
set statusline=
|
2021-04-01 01:17:13 +03:00
|
|
|
|
set statusline+=%#StatusLineEditorMode#\ %{GetMode()}\
|
|
|
|
|
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}\
|
2021-06-07 13:50:31 +03:00
|
|
|
|
set statusline+=%#StatusLinePosition#\ %p%%\ %l:%c\
|
2021-03-29 12:13:02 +03:00
|
|
|
|
|
2020-10-05 09:41:03 +03:00
|
|
|
|
"Выключает перенос строк
|
|
|
|
|
set nowrap
|
|
|
|
|
|
|
|
|
|
"Автоподстановка табов
|
|
|
|
|
set smarttab
|
|
|
|
|
"Замена табов на пробелы
|
|
|
|
|
set expandtab
|
|
|
|
|
"Установка отступа на 4 символа
|
|
|
|
|
set tabstop=4
|
|
|
|
|
set shiftwidth=4
|
|
|
|
|
set softtabstop=4
|
|
|
|
|
|
|
|
|
|
"Автодополнение отступов
|
|
|
|
|
set autoindent
|
|
|
|
|
set smartindent
|
|
|
|
|
|
2021-10-25 20:36:16 +03:00
|
|
|
|
"Заставляем себя юзать только hjkl
|
|
|
|
|
nnoremap <Left> :echoe "Use H pls"<CR>
|
|
|
|
|
nnoremap <Right> :echoe "Use L pls"<CR>
|
|
|
|
|
nnoremap <Up> :echoe "Use K pls"<CR>
|
|
|
|
|
nnoremap <Down> :echoe "Use J pls"<CR>
|
|
|
|
|
|
|
|
|
|
"Не тянись до ESC
|
|
|
|
|
imap jk <ESC>
|
|
|
|
|
|
2020-10-05 09:41:03 +03:00
|
|
|
|
"Кеймапы для запуска Python скриптов
|
2021-03-29 12:13:02 +03:00
|
|
|
|
autocmd BufRead *.py nmap <F5> :!python3 %<CR>
|
|
|
|
|
autocmd BufRead *.py nmap <F6> :!sudo python3 %<CR>
|
2021-07-16 19:23:40 +03:00
|
|
|
|
autocmd BufRead *.py nmap <F9> :!pycodestyle %<CR>
|
2021-10-24 00:39:36 +03:00
|
|
|
|
autocmd BufRead *.py nmap <F10> :!pylint %<CR>
|
2020-10-05 09:41:03 +03:00
|
|
|
|
|
|
|
|
|
"Кеймапы запуска Bash скриптов
|
|
|
|
|
autocmd BufRead *.sh nnoremap <F5> :!bash %<CR>
|
|
|
|
|
|
2021-02-04 13:20:02 +03:00
|
|
|
|
"Перенос сток для .md файлов
|
|
|
|
|
autocmd BufRead *.md set wrap
|
|
|
|
|
|
2020-10-05 09:41:03 +03:00
|
|
|
|
"Кеймапы обновления темы vim
|
2021-04-01 01:17:13 +03:00
|
|
|
|
autocmd BufRead *.vim nnoremap <F5> :source %<CR>
|
2020-10-05 09:41:03 +03:00
|
|
|
|
|
|
|
|
|
"Установка своей цветовой схемы
|
2021-09-13 08:23:54 +03:00
|
|
|
|
colorscheme custom_scheme_dark
|
2021-09-23 15:25:38 +03:00
|
|
|
|
|
|
|
|
|
"Довольно удобная реализация поддержки русских букв (говорят официальная)
|
|
|
|
|
set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz
|
2021-10-21 00:17:11 +03:00
|
|
|
|
|
|
|
|
|
"Автоматическое включение LessBehaviour
|
|
|
|
|
augroup ReadOnly
|
|
|
|
|
au!
|
|
|
|
|
au VimEnter * :call LessBehaviour()
|
|
|
|
|
augroup END
|