let &t_ZM = "\e[3m" call plug#begin('~/.local/share/nvim/plugged') " my stuff Plug 'git@ferrn:vim/vim-colors-plain' Plug 'git@ferrn:vim/better-text-objs' call plug#end() " augroups augroup plaintext autocmd! autocmd FileType text,markdown setlocal ts=2 sts=2 sw=2 expandtab textwidth=60 augroup END augroup webdev autocmd! autocmd FileType less,css,html,js?,ts? setlocal ts=2 sts=2 sw=2 expandtab autocmd FileType less,css,html nnoremap s viB:sort augroup END augroup lisp_stuff autocmd! autocmd BufReadPost *.lisp set filetype=scheme augroup END augroup yankhl autocmd! autocmd TextYankPost * silent! lua require'vim.highlight'.on_yank() augroup END augroup restorecursor autocmd BufReadPost * \ if line("'\"") > 1 && line("'\"") <= line("$") | \ execute "normal! g`\"" | \ endif augroup END augroup fzfstatus if has('nvim') && !exists('g:fzf_layout') autocmd! FileType fzf autocmd FileType fzf set laststatus=0 noshowmode noruler \| autocmd BufLeave set laststatus=2 showmode ruler endif augroup END " general settings set nobackup set nowritebackup set noswapfile " get rid of swapfiles everywhere set dir=/tmp syntax on set omnifunc=syntaxcomplete#Complete set completefunc=LanguageClient#complete set list filetype off filetype plugin indent on set laststatus=2 set nowrap set noshowmode set listchars=tab:┊\ ,nbsp:␣,trail:·,extends:>,precedes:< set fillchars=vert:\│,stl:\ ,stlnc:\ set ignorecase set smartcase set sidescroll=40 set incsearch set hlsearch set undofile set undodir=~/tmp set path+=** set backspace=indent,eol,start set hidden set wildmenu set complete=.,w,b,i,u,t, set background=dark set mouse=a set conceallevel=0 set nonumber set grepprg=rg\ --vimgrep\ --no-heading set grepformat=%f:%l:%c:%m,%f:%l:%m set cmdheight=2 set shortmess+=c set updatetime=300 set signcolumn=yes set inccommand=split set showmatch set diffopt+=vertical set completeopt=menu,menuone,noselect set exrc let g:netrw_browsex_viewer= "xdg-open" colorscheme plain set shiftwidth=4 " indent = 4 spaces set expandtab set tabstop=4 " tab = 4 spaces set softtabstop=4 " backspace through spaces " Functions function! GetTabber() " a lil function that integrates well with Tabular.vim let c = nr2char(getchar()) :execute 'Tabularize /' . c endfunction " Ugh command! WQ wq command! Wq wq command! Wqa wqa command! WQa wqa command! W w command! Q q " abbreviations abclear iab #i #include iab #d #define cab dst put =strftime('%d %a, %b %Y') cab vg vimgrep cab vga vimgrepadd cab bfd bufdo " man pages let g:ft_man_open_mode = 'tab' let g:gitgutter_override_sign_column_highlight = 0 let g:gitgutter_sign_added = '+' let g:gitgutter_sign_modified = '~' let g:gitgutter_sign_removed = '-' let g:gitgutter_sign_removed_first_line = '-' let g:gitgutter_sign_modified_removed = '~' let g:fzf_colors = \ { 'fg': ['fg', 'Noise'], \ 'bg': ['bg', 'Noise'], \ 'hl': ['fg', 'Statement'], \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], \ 'hl+': ['fg', 'Statement'], \ 'info': ['fg', 'PreProc'], \ 'border': ['fg', 'Ignore'], \ 'prompt': ['fg', 'Conditional'], \ 'pointer': ['fg', 'Exception'], \ 'marker': ['fg', 'Keyword'], \ 'spinner': ['fg', 'Label'], \ 'header': ['fg', 'Comment'] } let g:fzf_layout = { 'down': '40%' } let g:fzf_preview_window = [] highlight GitGutterAdd ctermfg=8 highlight GitGutterChange ctermfg=8 highlight GitGutterDelete ctermfg=8 let g:rustfmt_autosave = 1 let g:latex_view_general_viewer = "zathura" let g:vimtex_view_method = "zathura" let g:tex_flavor = 'latex' let g:elm_setup_keybindings = 0 sign define LspDiagnosticsSignError text=× texthl=LspDiagnosticsSignError linehl= numhl= sign define LspDiagnosticsSignWarning text=\! texthl=LspDiagnosticsSignWarning linehl= numhl= sign define LspDiagnosticsSignInformation text=i texthl=LspDiagnosticsSignInformation linehl= numhl= sign define LspDiagnosticsSignHint text=\~ texthl=LspDiagnosticsSignHint linehl= numhl= let g:user_emmet_leader_key='' lua << EOF require 'lsp' require 'treesitter' require 'completions' EOF