2.2 KiB
set nocompatible " Required to read a vim (not vi) config correctly set completeopt=preview " Completation mode: preview
" Vim-airline settings let g:airline_powerline_fonts = 1 let g:airline#extensions#tabline#enabled = 1 let g:airline_theme='term' let g:airline#extensions#whitespace#enabled = 0
" Python settings let g:python3_host_prog = '/usr/bin/python3.9' let g:loaded_python_provider = 0
" Default 4 tab spaces set tabstop=4 set shiftwidth=4 set expandtab " change it based on filetype autocmd Filetype ruby setlocal ts=2 sw=2 autocmd Filetype slim setlocal ts=2 sw=2
" set cindent
set encoding=utf-8
set nu
set hidden
set noshowmode
" Disabling backups and swap files (cause problem in servers, messy dirs etc.)
" You might want to comment this if you are on an unstable system
set nobackup
set nowritebackup
set noswapfile
" Use Ctrl+Q to close buffer noremap :bd " Map Ctrl+N for NerdTree map :NERDTreeToggle inoremap pumvisible() ? "<c-n>" : "<tab>" " Map ; to search files (fd) map ; :Files " Map , to match in files (ripgrep) map ' :Rg " Map /ln to disable highlighting nmap ln :noh " Windows splitting and movement (move windows with hjkl keys) function! WinMove(key) let t:curwin = winnr() exec "wincmd ".a:key if (t:curwin == winnr()) if (match(a:key,'[jk]')) wincmd v else wincmd s endif exec "wincmd ".a:key endif endfunction
nnoremap :call WinMove('h') nnoremap :call WinMove('j') nnoremap :call WinMove('k') nnoremap :call WinMove('l')
" Using Plug for plugins call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree' " NerdTree for browsing directories Plug 'neoclide/coc.nvim', { 'branch': 'release' } " CoC for completion, works similar to VSCode Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } " Fuzzy finder Plug 'junegunn/fzf.vim' Plug 'vim-airline/vim-airline' " Status/tabline for vim Plug 'vim-airline/vim-airline-themes' Plug 'jiangmiao/auto-pairs' " Brackets management plugins Plug 'machakann/vim-sandwich' Plug 'airblade/vim-gitgutter' " Git plugin
call plug#end()
filetype plugin indent on syntax enable