set list set spell hi SpellBad ctermfg=000 guifg=#000000 let g:python3_host_prog = '/usr/bin/python3' " URL: http://vim.wikia.com/wiki/Example_vimrc set nocompatible filetype indent plugin on filetype plugin on syntax on set hidden set wildmenu set showcmd set hlsearch set ignorecase set smartcase set backspace=indent,eol,start set autoindent set nostartofline set ruler set laststatus=2 set confirm set visualbell set mouse=a set cmdheight=2 set number set notimeout ttimeout ttimeoutlen=200 set pastetoggle= "------------------------------------------------------------ "----- CUSTOM MAPPINGS map Y y$ " Map (redraw screen) to also turn off search highlighting until the " next search nnoremap :nohl " From https://github.com/theicfire/dotfiles/blob/master/vim/.vimrc " With a map leader it's possible to do extra key combinations " like w saves the current file let mapleader = " " " auto indent for brackets inoremap { {}O " shortcut for search without highlight nnoremap sh :nohlsearch:echo " paste from outside buffer (i.e. outside of vim) nnoremap p :set paste"+p:set nopaste vnoremap p :set pastegv"+p:set nopaste " copy to outside buffer vnoremap y "+y " select all nnoremap a ggVG " paste from 0 register " Useful because `d` overwrites the register nnoremap P "0p vnoremap P "0p " Easy quoting from: " https://stackoverflow.com/questions/2147875/what-vim-commands-can-be-used-to-quote-unquote-words nnoremap qq ciW""P nnoremap '' ciW''P "------------------------------------------------------------ " ----- DEFAULT SPACING/INDENTATION OPTIONS " Indent with spaces by default like a sane person set shiftwidth=4 set softtabstop=4 set expandtab " b/c it fits half screen nicely set textwidth=72 " ------------------------------------------------------------ " ----- FILE TYPE CONFIGS set fileformat=unix " Enable x86 custom highlight au BufNewFile,BufRead *.asm \ set syntax=nasm " auto PEP8 for python au BufNewFile,BufRead *.py \ set tabstop=4 | \ set softtabstop=4 | \ set shiftwidth=4 | \ set smartindent | " 8 spaces for c, per Linus au BufNewFile,BufRead *.c \ set tabstop=8 | \ set softtabstop=8 | \ set shiftwidth=8 | \ set cindent | " For the one absolute mad lad au BufNewFile,BufRead Makefile \set noexpandtab