From 5cdb4e421a809de51c3ebe8404e50d732721238b Mon Sep 17 00:00:00 2001 From: Akshay Date: Sun, 26 Sep 2021 21:26:36 +0530 Subject: init --- programs/init.vim | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 programs/init.vim (limited to 'programs/init.vim') diff --git a/programs/init.vim b/programs/init.vim new file mode 100644 index 0000000..38e5eef --- /dev/null +++ b/programs/init.vim @@ -0,0 +1,191 @@ +let &t_ZM = "\e[3m" + +call plug#begin('~/.local/share/nvim/plugged') + +" syntax and friends +Plug 'neovimhaskell/haskell-vim', {'for': ['haskell', 'cabal']} +Plug 'elmcast/elm-vim' + +" 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 + +augroup completions + " Use completion-nvim in every buffer + autocmd! + autocmd BufEnter * lua require'completion'.on_attach() +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=menuone,noinsert,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 + +let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy', 'all'] +let g:completion_trigger_on_delete = 1 + +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' +EOF + -- cgit v1.2.3