set nocompatible " be iMproved set shortmess+=I " Respect XDG set directory=$XDG_CACHE_HOME/vim,~/,/tmp set backupdir=$XDG_CACHE_HOME/vim,~/,/tmp set viminfo+=n$XDG_CACHE_HOME/vim/viminfo set runtimepath=$XDG_CONFIG_HOME/vim,$XDG_CONFIG_HOME/vim/after,$VIM,$VIMRUNTIME,/usr/share/vim/vimfiles let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc" " Make backspace behave in a sane manner. set backspace=indent,eol,start " NeoBndle stuff set runtimepath+=~/.config/vim/bundle/neobundle.vim/ call neobundle#rc('/home/kyrias/.config/vim/bundle') NeoBundleFetch 'Shougo/neobundle.vim' NeoBundle 'Shougo/vimproc', { \ 'build' : { \ 'unix' : 'make -f make_unix.mak', \ }, \ } NeoBundle 'Shougo/unite.vim' " Colorscheme❤ NeoBundle "daylerees/colour-schemes", { "rtp": "vim-themes/" } colorscheme Darkcustomside "colorscheme mustang " Smart Tabs (http://www.emacswiki.org/emacs/SmartTabs) NeoBundle 'gustavo-hms/vim-smart-tabs' NeoBundle 'rust' syntax on filetype plugin indent on set autoindent " always set autoindenting on set copyindent " copy the previous indentation on autoindenting set number " always show line numbers set smartcase " ignore case if search pattern is all lowercase, " case-sensitive otherwise set hlsearch " highlight search terms set incsearch " show search matches as you type set history=1000 " remember more commands and search history set undolevels=1000 " use many muchos levels of undo set wildignore=*.swp,*.bak,*.pyc,*.class set title " change the terminal's title set visualbell " don't beep set noerrorbells " don't beep set nobackup set noswapfile set mouse=a nnoremap ; : map map map map nmap / :nohlsearch cmap w!! w !sudo tee % >/dev/null " Tabs are 4 spaces wide set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab " voodoo magic set hidden " Make the cursor be on the left side in normal mode if line starts with tab set list lcs=tab:\ \ " Note the extra space after the second \ " Append modeline after last line in buffer. function! AppendModeline() let l:modeline = printf("vim: set ts=%d sts=%d sw=%d %set:", \ &tabstop, &softtabstop, &shiftwidth, &expandtab ? '' : 'no') let l:modeline = substitute(&commentstring, "%s", l:modeline, "") call append(line("$"), l:modeline) endfunction nnoremap ml Go``:call AppendModeline() " Paste mode when pressing Insert, disables autoformating set pastetoggle= " Installation check. NeoBundleCheck set listchars=tab:»·,trail:· set list highlight ExtraWhitespace ctermbg=red guibg=red match ExtraWhitespace /\s\+$/ autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@