diff options
| author | nic <ra@afu.re> | 2024-01-06 12:24:08 -0500 |
|---|---|---|
| committer | nic <ra@afu.re> | 2024-01-06 12:24:08 -0500 |
| commit | 2b088b332ed493e2fb3282003fb56adabc6dcaf7 (patch) | |
| tree | 8f5284915c1873b0410b13a9877fd3af126a69d8 | |
| parent | 84ee878342ebfa109ac547b91616eabbd7bfd30a (diff) | |
Add Neovim config
| -rw-r--r-- | .config/nvim/init.vim | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim new file mode 100644 index 0000000..732ff43 --- /dev/null +++ b/.config/nvim/init.vim @@ -0,0 +1,86 @@ +let mapleader ="," + +if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"')) + echo "Downloading junegunn/vim-plug to manage plugins..." + silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/ + silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim + autocmd VimEnter * PlugInstall +endif + +call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"')) +Plug 'bling/vim-airline' +Plug 'vimwiki/vimwiki' +Plug 'junegunn/goyo.vim' +Plug 'ap/vim-css-color' +Plug 'tomasr/molokai' +call plug#end() + +set title +set go=a +set mouse=a +"set nohlsearch +set clipboard+=unnamedplus +set noshowmode +set noruler +set laststatus=0 +set noshowcmd +set scrolloff=7 +set noswapfile +set nobackup + +colorscheme molokai +" make it so theme as no black background like default +hi Normal ctermbg=NONE +hi NonText ctermbg=NONE + +" Some basics: + nnoremap c "_c + set nocompatible + filetype plugin on + syntax on + set encoding=utf-8 + set number relativenumber +" Enable autocompletion: + set wildmode=longest,list,full +" Disables automatic commenting on newline: + autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o +" Splits open at the bottom and right, which is non-retarded, unlike vim defaults. + set splitbelow splitright +" Automatically deletes all trailing whitespace and newlines at end of file on save & reset cursor position. + autocmd BufWritePre * let currPos = getpos(".") + autocmd BufWritePre * %s/\s\+$//e + autocmd BufWritePre * %s/\n\+\%$//e + autocmd BufWritePre *.[ch] %s/\%$/\r/e " add trailing newline for ANSI C standard + autocmd BufWritePre *neomutt* %s/^--$/-- /e " dash-dash-space signature delimiter in emails + autocmd BufWritePre * cal cursor(currPos[1], currPos[2]) +" When shortcut files are updated, renew configs with new material: + autocmd BufWritePost bm-files,bm-dirs !shortcuts +" Run xrdb whenever Xdefaults or Xresources are updated. + autocmd BufRead,BufNewFile Xresources,Xdefaults,xresources,xdefaults set filetype=xdefaults + autocmd BufWritePost Xresources,Xdefaults,xresources,xdefaults !xrdb % +"Ensure files are read the way I want + let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'} + let g:vimwiki_list = [{'path': '~/Documents/vimwiki', 'syntax': 'markdown', 'ext': '.md'}] + autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown + autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff + autocmd BufRead,BufNewFile *.tex set filetype=tex + +" Runs a script that cleans out tex build files whenever I close out of a .tex file. + autocmd VimLeave *.tex !texclear % +" Save file as doas? on files that require root permission +" cabbrev w!! execute 'silent! write !doas tee % >/dev/null' <bar> edit! + + " Bindings +" Spell-check set to <leader>o, 'o' for 'orthography': + map <leader>o :setlocal spell! spelllang=en_us<CR> +" Compile document, be it groff/LaTeX/markdown/etc. + map <leader>c :w! \| !compiler "<c-r>%"<CR> +" Open corresponding .pdf/.html or preview + map <leader>p :!opout <c-r>%<CR><CR> +" Goyo plugin makes text more readable when writing prose: + map <leader>f :Goyo \| set bg=light \| set linebreak<CR> +" Enable Goyo by default for mutt writing + "autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80 + "autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo + "autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x!<CR> + "autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR> |
