From 93d2743e3864e9eab0699b1bb1ea5f01c10bdbc1 Mon Sep 17 00:00:00 2001 From: Yaroslav Date: Mon, 23 Sep 2019 06:32:38 +0300 Subject: initial commit --- dotfiles/.vimrc | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 dotfiles/.vimrc (limited to 'dotfiles/.vimrc') diff --git a/dotfiles/.vimrc b/dotfiles/.vimrc new file mode 100644 index 0000000..aeadd1e --- /dev/null +++ b/dotfiles/.vimrc @@ -0,0 +1,127 @@ + +let mapleader =" " +" Load Pathogen for plugins: +" execute pathogen#infect() +" execute pathogen#helptags() + +" Some basics: + set nocompatible + filetype plugin on + syntax on + set background=dark + set termguicolors + set guicursor=n-v-c-sm:hor20,i-ci-ve:ver25,r-cr-o:block + set cursorline + let g:gruvbox_italic=1 + let g:airline_theme='bubblegum' + let g:airline#extensions#tabline#enabled = 1 + colorscheme gruvbox +" set encoding=utf-8 + set number + +" airline + let g:airline_left_sep='' + let g:airline_right_sep='' + let g:airline_inactive_collapse=1 + +" indentation + filetype plugin indent on + set tabstop=4 + set shiftwidth=4 + set expandtab + +" Splits open at the bottom and right, which is non-retarded, unlike vim defaults. + set splitbelow + set splitright + +" Shortcutting split navigation, saving a keypress: + map h + map j + map k + map l + +" Open the selected text in a split (i.e. should be a file). + map o "oyaW:sp o + xnoremap o "oy:sp o + vnoremap o "oy:sp o + +" Replace all is aliased to S. + nnoremap S :%s//g + +" Open corresponding.pdf + map p :!mupdf %pdf & + +" Compile document + map c :!compiler % + +" Interpret .md files, etc. as .markdown + let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'} + +" Make calcurse notes markdown compatible: + autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown + +" Spell-check set to F2: + map :setlocal spell! spelllang=en_us,es,ru + +" Use urlview to choose and open a url: + :noremap u :wsilent !urlview + +" Copy selected text to system clipboard (requires gvim installed): + vnoremap "*y :let @+=@* + +" Copy and paste to clipboard + vmap "+y + map "+p + +" Enable Goyo by default for mutt writting + " Goyo's width will be the line limit in mutt. + autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=72 + autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo + +" Enable autocompletion: + set wildmode=longest,list,full + set wildmenu + imap + +" Automatically deletes all tralling whitespace on save. + autocmd BufWritePre * %s/\s\+$//e + +" When shortcut files are updated, renew bash and ranger configs with new material: + autocmd BufWritePost ~/.scripts/folders,~/.scripts/configs !bash ~/.scripts/shortcuts.sh + +" Runs a script that cleans out tex build files whenever I close out of a .tex file. + autocmd VimLeave *.tex !texclear + +" Disables automatic commenting on newline: + autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o + +" Join line with ctrl + nnoremap J + +" Easier tab navigation (similar to qutebrowser) + nnoremap J :tabn + nnoremap K :tabp + +" C-T for new tab + nnoremap :tabe + +" Navigating with guides + inoremap /<++>"_c4l + vnoremap /<++>"_c4l + map /<++>"_c4l + inoremap ;gui <++> + +" For normal mode when in terminals (in X I have caps mapped to esc, this replaces it when I don't have X) + inoremap jw + inoremap wj + +" latex pdf viewer + let g:livepreview_previewer = 'zathura' + +" To avoid switching between keyboards + set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz + +" neomake + let g:neomake_javascript_enabled_makers = ['eslint'] + let g:neomake_javascript_eslint_exe = $PWD .'/node_modules/.bin/eslint' + call neomake#configure#automake('w') -- cgit v1.2.3