set nocompatible " be iMproved, required filetype off " required set background=light 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 'Shougo/deoplete.nvim' Plugin 'zchee/deoplete-clang' "Plugin 'Valloric/YouCompleteMe' Plugin 'SirVer/ultisnips' Plugin 'honza/vim-snippets' " make it look good Plugin 'junegunn/goyo.vim' " dissaprove indented code to far "Plugin 'dodie/vim-disapprove-deep-indentation' 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 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 laststatus=0 " Hide the useless statusbar 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 <leader>m :.!~/bin/calc<Enter> nnoremap <leader>i :read !latestimage<Enter> nnoremap <leader>v :!open '<cfile>'<CR> "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 <Tab> <Esc> "vnoremap <Tab> <Esc>gV "onoremap <Tab> <Esc> "inoremap <Tab> <Esc>`^ "inoremap <S-Tab> <Tab> 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 <Leader>o :CtrlP<CR> nnoremap <Leader>w :w<CR> " 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 "Deoplete enable let g:deoplete#enable_at_startup = 1 let g:deoplete#sources#clang#libclang_path = '/usr/lib/libclang.so' let g:deoplete#sources#clang#clang_header = '/usr/lib/clang/' " supertab let g:SuperTabDefaultCompletionType = '<C-n>' let g:SuperTabCrMapping = 0 " ultisnips let g:UltiSnipsSnippetsDir='~/.vim/snippets' let g:UltiSnipsEditSplit='vertical' let g:UltiSnipsExpandTrigger = '<tab>' let g:UltiSnipsJumpForwardTrigger = '<tab>' let g:UltiSnipsJumpBackwardTrigger = '<s-tab>' """"""""""""""""""""""" " CUSTOM TEXT-OBJECTS " """"""""""""""""""""""" for char in [ '_', '.', ':', ',', ';', '<bar>', '/', '<bslash>', '*', '+', '%', '-', '#' ] execute 'xnoremap i' . char . ' :<C-u>normal! T' . char . 'vt' . char . '<CR>' execute 'onoremap i' . char . ' :normal vi' . char . '<CR>' execute 'xnoremap a' . char . ' :<C-u>normal! F' . char . 'vf' . char . '<CR>' execute 'onoremap a' . char . ' :normal va' . char . '<CR>' endfor