summaryrefslogtreecommitdiffstats
path: root/.config/nvim/init.vim
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/init.vim')
-rw-r--r--.config/nvim/init.vim106
1 files changed, 106 insertions, 0 deletions
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
new file mode 100644
index 0000000..f29ddac
--- /dev/null
+++ b/.config/nvim/init.vim
@@ -0,0 +1,106 @@
+call plug#begin()
+
+Plug 'drewtempelmeyer/palenight.vim'
+
+call plug#end()
+
+filetype plugin on
+set grepprg=grep\ -nH\ $*
+let g:tex_flavor='latex'
+
+colorscheme palenight
+let $NVIM_TUI_ENABLE_TRUE_COLOR=1
+if (has("termguicolors"))
+ set termguicolors
+endif
+let g:palenight_terminal_italics=1
+
+let mapleader =","
+
+"set bg=light
+set bg=dark
+"set t_Co=16
+set go=a
+set mouse=a
+set nohlsearch
+"set clipboard=unnamedplus
+set tabstop=4
+set softtabstop=4
+set shiftwidth=4
+"Convertts our tabs to spaces
+set expandtab
+set autoindent
+set fileformat=unix
+
+" 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
+
+" Goyo plugin makes text more readable when writing prose:
+ map <leader>f :Goyo \| set bg=light \| set linebreak<CR>
+
+" Spell-check set to <leader>o, 'o' for 'orthography':
+ map <leader>o :setlocal spell! spelllang=en_us<CR>
+
+" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
+ set splitbelow splitright
+
+" Shortcutting split navigation, saving a keypress:
+ map <C-h> <C-w>h
+ map <C-j> <C-w>j
+ map <C-k> <C-w>k
+ map <C-l> <C-w>l
+
+" Replace all is aliased to S.
+ nnoremap S :%s//g<Left><Left>
+
+"Newtab with ctrl+t
+ nnoremap <silent> <C-t> :tabnew<CR>
+"Paste from system clipboard with ctrl+i instead of shift insert
+ map <S-Insert> <C-i>
+" 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>
+
+" Runs a script that cleans out tex build files whenever I close out of a .tex file.
+ autocmd VimLeave *.tex !texclear %
+
+" Ensure files are read as what I want:
+ let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
+ let g:vimwiki_list = [{'path': '~/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
+
+" Copy selected text to system clipboard (requires gvim/nvim/vim-x11 installed):
+ vnoremap <C-c> "+y
+ map <C-p> "+P
+
+" Automatically deletes all trailing whitespace on save.
+ autocmd BufWritePre * %s/\s\+$//e
+
+" When shortcut files are updated, renew bash and vifm configs with new material:
+ autocmd BufWritePost ~/.config/bmdirs,~/.config/bmfiles !shortcuts
+
+" Update binds when sxhkdrc is updated.
+ autocmd BufWritePost *sxhkdrc !pkill -USR1 sxhkd
+
+" Run xrdb whenever Xdefaults or Xresources are updated.
+ autocmd BufWritePost *Xresources,*Xdefaults !xrdb %
+
+" Navigating with guides
+ inoremap <leader><leader> <Esc>/<++><Enter>"_c4l
+ vnoremap <leader><leader> <Esc>/<++><Enter>"_c4l
+ map <leader><leader> <Esc>/<++><Enter>"_c4l
+
+set rtp+=/usr/share/vim/vimfiles