Plugin 'firef0x/pkgbuild.vim'
 Plugin 'junegunn/vim-easy-align'
 Plugin 'kien/ctrlp.vim'
-Plugin 'klen/python-mode'
+" Plugin 'klen/python-mode'
+Plugin 'wilywampa/python-mode'
 Plugin 'kshenoy/vim-signature'
 Plugin 'majutsushi/tagbar'
 Plugin 'raimondi/delimitmate'
 Plugin 'chrisbra/checkattach'
 Plugin 'nathanaelkane/vim-indent-guides'
 
+Plugin 'kana/vim-textobj-user'
+Plugin 'julian/vim-textobj-variable-segment'
+Plugin 'sgur/vim-textobj-parameter'
+
 " remove entries first
 set runtimepath -=$HOME/.vim
 set runtimepath -=$HOME/.vim/after
 set foldlevelstart=0            " value for 'foldlevel' when starting to edit a file
 
 " save and restore folds
-set viewoptions=folds,cursor    " don't save local options
+set viewoptions=cursor          " only save cursor position
 
 " diff mode {{{2
 set diffopt=filler,vertical
 " Don't use Ex mode, use Q for formatting
 map Q gq
 
-" allow undoing in insert-mode
-inoremap <C-U> <C-G>u<C-U>
+" break undo sequence before removing word
 inoremap <C-W> <C-G>u<C-W>
 
 nmap <Leader>b :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
 let g:ycm_global_ycm_extra_conf = expand('$XDG_CONFIG_HOME/vim/ycm_extra_conf.py')
 let g:ycm_extra_conf_vim_data = ['getcwd()']
 let g:ycm_add_preview_to_completeopt = 1
-let g:ycm_autoclose_preview_window_after_insertion = 1
+let g:ycm_autoclose_preview_window_after_insertion = 0
 "let g:ycm_extra_conf_vim_data = ['%:p']
 nnoremap <leader>jd :YcmCompleter GoTo<CR>