set nocompatible " be iMproved, required filetype off " required set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'ervandew/supertab' Plugin 'vim-scripts/DrawIt' Plugin 'takac/vim-hardtime' " tpope goodness Plugin 'tpope/vim-abolish' Plugin 'tpope/vim-surround' Plugin 'tpope/vim-repeat' " fancy ass ide stuff Plugin 'Valloric/YouCompleteMe' Plugin 'SirVer/ultisnips' Plugin 'honza/vim-snippets' call vundle#end() " required filetype plugin indent on " required "General syntax on set showcmd " Show (partial) command in status line. "set showmatch " Show matching brackets. "set gdefault set ignorecase " Do case insensitive matching set smartcase " Do smart case matching set incsearch " Incremental search set hlsearch set background=dark " Fix hilight colours "set autowrite " Automatically save before commands like :next and :make "set hidden " Hide buffers when they are abandoned "set mouse=a " Enable mouse usage (all modes) set relativenumber set number "set spell set ruler "Remove annoying ESC delay set ttimeout ttimeoutlen=20 "Change cursor to | when in insert let $NVIM_TUI_ENABLE_CURSOR_SHAPE = 1 "Autosave and Autoread set autoread set autowriteall set noswapfile set nobackup au CursorHold,CursorHoldI * checktime au CursorHold,CursorHoldI * silent! wa set updatetime=2000 filetype plugin on "Persisten-undo magic set undofile "Disable the super annoying autocomment autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o "Make j and k not jump when wraping nnoremap j gj nnoremap k gk "set leader to comma let mapleader = "," "Math with qalc nnoremap m :.!~/bin/calc nnoremap i :read !latestimage nnoremap v :!open '' "read spaces in path's set isfname+=32 "Set tab to two spaces set expandtab set shiftwidth=2 set softtabstop=2 "Make tab into another escape "nnoremap "vnoremap gV "onoremap "inoremap `^ "inoremap set enc=utf-8 "sync paste buffer and vims register set clipboard^=unnamed " don't clobber up the directory with dot undo file set undodir=~/.vim/undodir/ "disable mouse set mouse= "Open new file nnoremap o :CtrlP nnoremap w :w " Hard time options let g:hardtime_maxcount = 2 let g:hardtime_default_on = 1 let g:hardtime_showmsg = 0 let g:hardtime_allow_different_key = 1 " YouCompleteMe let g:ycm_global_ycm_extra_conf = "~/.vim/ycm_extra_conf.py" let g:ycm_dont_warn_on_startup = 0 let g:ycm_complete_in_comments = 1 let g:ycm_complete_in_strings = 1 let g:ycm_collect_identifiers_from_comments_and_strings = 1 let g:ycm_filetype_blacklist = {} let g:ycm_key_list_select_completion = ['', '', ''] let g:ycm_key_list_previous_completion = ['', '', ''] " supertab let g:SuperTabDefaultCompletionType = '' let g:SuperTabCrMapping = 0 " ultisnips let g:UltiSnipsSnippetsDir='~/.vim/snippets' let g:UltiSnipsEditSplit='vertical' let g:UltiSnipsExpandTrigger = '' let g:UltiSnipsJumpForwardTrigger = '' let g:UltiSnipsJumpBackwardTrigger = '' """"""""""""""""""""""" " CUSTOM TEXT-OBJECTS " """"""""""""""""""""""" for char in [ '_', '.', ':', ',', ';', '', '/', '', '*', '+', '%', '-', '#' ] execute 'xnoremap i' . char . ' :normal! T' . char . 'vt' . char . '' execute 'onoremap i' . char . ' :normal vi' . char . '' execute 'xnoremap a' . char . ' :normal! F' . char . 'vf' . char . '' execute 'onoremap a' . char . ' :normal va' . char . '' endfor