Skip to content

Instantly share code, notes, and snippets.

@Andrey0189
Created December 12, 2023 02:51
Show Gist options
  • Save Andrey0189/757f4e0af2e285cc15e58a58f647dbf6 to your computer and use it in GitHub Desktop.
Save Andrey0189/757f4e0af2e285cc15e58a58f647dbf6 to your computer and use it in GitHub Desktop.
" Кодировка UTF-8
set encoding=utf8
" Отключение совместимости с vi. Нужно для правильной работы некоторых опций
set nocompatible
" Игнорировать регистр при поиске
set ignorecase
" Не игнорировать регистр, если в паттерне есть большие буквы
set smartcase
" Подсвечивать найденный паттерн
set hlsearch
" Интерактивный поиск
set incsearch
" Размер табов - 2
set tabstop=2
set softtabstop=2
set shiftwidth=2
" Превратить табы в пробелы
set expandtab
" Таб перед строкой будет вставлять количество пробелов определённое в shiftwidth
set smarttab
" Копировать отступ на новой строке
set autoindent
set smartindent
" Показывать номера строк
set number
" Относительные номера строк
set relativenumber
" Автокомплиты в командной строке
set wildmode=longest,list
" Подсветка синтаксиса
syntax on
" Разрешить использование мыши
set mouse=a
" Использовать системный буфер обмена
set clipboard=unnamedplus
" Быстрый скроллинг
set ttyfast
" Курсор во время скроллинга будет всегда в середине экрана
set so=30
" Встроенный плагин для распознавания отступов
filetype plugin indent on
call plug#begin("~/.vim/plugged")
Plug 'scrooloose/nerdtree'
Plug 'preservim/nerdcommenter'
Plug 'ryanoasis/vim-devicons'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'neoclide/coc.nvim'
call plug#end()
" Автоматическое открытие NERDTree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * NERDTree | wincmd p
" Включить/выключить NERDTree при нажатии \n
nnoremap <leader>n :NERDTreeToggle<CR>
" Юникодные иконки папок (Работает только с плагином vim-devicons)
let g:WebDevIconsUnicodeDecorateFolderNodes = 1
" Показывает количество строк в файлах
let g:NERDTreeFileLines = 1
" Игнорировать указанные папки
let g:NERDTreeIgnore = ['^node_modules$', '^__pycache__$']
" Закрыть vim, если единственная вкладка - это NERDTree
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
let g:airline#extensions#tabline#enabled = 1
let g:airline_powerline_fonts = 1
let g:airline_statusline_ontop=0
let g:airline_theme='deus'
let g:airline#extensions#tabline#formatter = 'default'
" Автокомплиты через Tab
inoremap <expr> <Tab> coc#pum#visible() ? coc#pum#confirm() : "\<Tab>"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment