"we don't want vi compatibility AKA Make Vim more useful set nocompatible set noswapfile set autoread set selection=exclusive syntax enable " Use the OS clipboard by default (on versions compiled with `+clipboard`) set clipboard=unnamed " Enhance command-line completion set wildmenu " Allow cursor keys in insert mode set esckeys " Allow backspace in insert mode set backspace=indent,eol,start " Optimize for fast terminal connections set ttyfast " Add the g flag to search/replace by default set gdefault " Use UTF-8 without BOM set encoding=utf-8 "nobomb " Change mapleader let mapleader="," " Dont add empty newlines at the end of files set binary set noeol set history=256 " Number of things to remember in history. set t_Co=256 " Respect modeline in files set modeline set modelines=4 " Enable per-directory .vimrc files and disable unsafe commands in them set exrc set secure " Enable line numbers set number " Enable syntax highlighting syntax on " Highlight current line set cursorline " Make tabs as wide as two spaces set tabstop=2 set expandtab set shiftwidth=2 " Show “invisible” characters set lcs=tab:▸\ ,trail:·,eol:¬,nbsp:_ set list " Highlight searches set hlsearch " Ignore case of searches set ignorecase " Highlight dynamically as pattern is typed set incsearch " Always show status line set laststatus=2 " Enable mouse in all modes set mouse=a " Disable error bells set noerrorbells " Dont reset cursor to start of line when moving around. set nostartofline " Show the cursor position set ruler " Dont show the intro message when starting Vim set shortmess=atI " Show the current mode set showmode " Show the filename in the window titlebar set title " Show the (partial) command as its being typed set showcmd " Use relative line numbers if exists("&relativenumber") set relativenumber au BufReadPost * set relativenumber endif " Start scrolling three lines before the horizontal window border set scrolloff=3