aboutsummaryrefslogtreecommitdiff
path: root/TMV/.vimrc
diff options
context:
space:
mode:
Diffstat (limited to 'TMV/.vimrc')
-rw-r--r--TMV/.vimrc103
1 files changed, 103 insertions, 0 deletions
diff --git a/TMV/.vimrc b/TMV/.vimrc
new file mode 100644
index 0000000..0e545b6
--- /dev/null
+++ b/TMV/.vimrc
@@ -0,0 +1,103 @@
+let mapleader =","
+
+if ! filereadable(expand('~/.config/nvim/autoload/plug.vim'))
+ echo "Downloading junegunn/vim-plug to manage plugins..."
+ silent !mkdir -p ~/.config/nvim/autoload/
+ silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim
+ autocmd VimEnter * PlugInstall
+endif
+
+
+set bg=dark
+set go=a
+set mouse=a
+set nohlsearch
+set clipboard=unnamedplus
+
+" 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
+
+" Nerd tree
+ map <leader>n :NERDTreeToggle<CR>
+ autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
+
+" vimling:
+ nm <leader>d :call ToggleDeadKeys()<CR>
+ imap <leader>d <esc>:call ToggleDeadKeys()<CR>a
+ nm <leader>i :call ToggleIPA()<CR>
+ imap <leader>i <esc>:call ToggleIPA()<CR>a
+ nm <leader>q :call ToggleProse()<CR>
+
+" 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
+
+" Check file in shellcheck:
+ map <leader>s :!clear && shellcheck %<CR>
+
+" Open my bibliography file in split
+ map <leader>b :vsp<space>$BIB<CR>
+ map <leader>r :vsp<space>$REFER<CR>
+
+" Replace all is aliased to S.
+ nnoremap S :%s//g<Left><Left>
+
+" 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'}
+ map <leader>v :VimwikiIndex
+ let g:vimwiki_list = [{'path': '~/repos/writings', '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
+
+" Enable Goyo by default for mutt writting
+ autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
+ autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo | set bg=light
+
+" Automatically deletes all trailing whitespace on save.
+ autocmd BufWritePre * %s/\s\+$//e
+
+" When shortcut files are updated, renew bash and ranger configs with new material:
+ autocmd BufWritePost *bmdirs,*bmfiles !shortcuts
+" Run xrdb whenever Xdefaults or Xresources are updated.
+ autocmd BufWritePost *Xresources,*Xdefaults !xrdb %
+" Update binds when sxhkdrc is updated.
+ autocmd BufWritePost *sxhkdrc !pkill -USR1 sxhkd
+" Update dwmbar when changed.
+ autocmd BufWritePost *dwmbar !killall dwmbar; setsid dwmbar &
+
+
+colo delek