syntax on filetype on filetype indent on colorscheme slate " set leader let mapleader = " " let maplocalleader = " " " Opts from neovim " Set netrw size and style let g:netrw_banner = 0 let g:netrw_liststyle = 3 let g:netrw_browse_split = 4 let g:netrw_winsize = 25 let g:netrw_altv = 1 let g:vimsyn_embed = "alpPrj" let g:showbreak = "↪" set term=xterm-256color set ttyfast set nocompatible set autowrite set autoread set nospell set spelllang=en_us set path+=** set undofile set undodir=~/.vim/undodir "set noshowmode set noswapfile set showcmd set noerrorbells set exrc set hidden set wrap set whichwrap=<,>,[,],l,h set mouse=n set clipboard=unnamedplus " Tabs and Indents set tabstop=2 set shiftwidth=2 set softtabstop=2 set autoindent set expandtab set breakindent set smartindent " Look and feel set background=dark set hlsearch set colorcolumn= set signcolumn=yes set cursorline set cursorlineopt=line set ruler set number set relativenumber set numberwidth=2 set textwidth=80 set termguicolors set cmdheight=1 set laststatus=0 set showtabline=2 set splitbelow set splitright set splitkeep=screen set shortmess=filnxtToOFs set updatetime=250 set timeoutlen=300 set ttimeoutlen=0 set conceallevel=3 set scrolloff=0 set sidescrolloff=5 set pumwidth=30 set pumheight=15 "Search set ignorecase set smartcase set showmatch set incsearch set completeopt=menuone,menu,noselect set list set listchars=tab:»·,trail:·,nbsp:␣ set foldmethod=indent set foldlevel=99 set wildmenu set wildmode=longest:full,full set wildoptions=pum,fuzzy set confirm highlight ColorColumn ctermbg=white guibg=lightgray set backspace=indent,eol,start set omnifunc=syntaxcomplete#Complete " Completion " Check :h ins-completion imap imap imap imap cmap " Keybinds from neovim nnoremap :nohlsearch nnoremap vnoremap tnoremap nnoremap m. @@ nnoremap so :source % nnoremap . :source $MYVIMRC nnoremap f :Lexplore! nnoremap :bn nnoremap :bp nnoremap H "_^ nnoremap L $ nnoremap j nnoremap k nnoremap h nnoremap l inoremap inoremap inoremap inoremap cnoremap cnoremap cnoremap cnoremap nnoremap :vertical resize +3 nnoremap :vertical resize -3 nnoremap :resize -3 nnoremap :resize +3 vnoremap J :m '>+1gv=gv vnoremap K :m '<-2gv=gv nnoremap k v:count == 0 ? 'gk' : 'k' nnoremap j v:count == 0 ? 'gj' : 'j' nnoremap 5j vnoremap 5j nnoremap 5k vnoremap 5k nnoremap + nnoremap - nnoremap V :vsplit nnoremap H :split nnoremap a ggG nnoremap y :%y+ xnoremap P silent! normal! "_dP nnoremap qq %bd nnoremap w! inoremap w! vnoremap w! nnoremap wqa! inoremap wqa! vnoremap wqa! nnoremap bd bdelete nnoremap bn bnext nnoremap bp bprevious nnoremap cn cnext nnoremap cp cprev nnoremap co copen nnoremap cc cclose cnoreabbrev Q q cnoreabbrev q1 q! cnoreabbrev Q1 q! cnoreabbrev Qa1 qa! cnoreabbrev Qa qa cnoreabbrev W w cnoreabbrev Wq wq cnoreabbrev WQ wq " Autocmds from neovim augroup help_window_right autocmd! autocmd BufWinEnter * if &filetype == 'help' | wincmd L | vertical resize 90 | endif augroup END augroup autosave autocmd! autocmd FocusLost,ModeChanged,TextChanged,BufEnter * silent! update augroup END augroup filetype_keymaps autocmd! autocmd FileType checkhealth,fugitive*,git,help,man,lspinfo,netrw,qf,query, nnoremap q :close augroup END augroup center_cursor autocmd! autocmd CursorMoved,BufEnter * normal! zz augroup END augroup filetype_settings autocmd! autocmd FileType gitcommit,markdown setlocal wrap spell augroup END augroup highlight_yank autocmd! autocmd TextYankPost * call system('highlight yank') augroup END augroup restore_cursor autocmd! autocmd BufReadPost * if getpos("'\"")[1] > 1 && getpos("'\"")[1] <= line('$') | execute "normal! '\"" | endif augroup END augroup clear_search_pattern autocmd! autocmd VimEnter * let @/ = "" augroup END "Reloads vimrc after saving but keep cursor position if !exists("*ReloadVimrc") fun! ReloadVimrc() source $MYVIMRC endfun endif autocmd! BufWritePost $MYVIMRC call ReloadVimrc()