filetype plugin indent on syntax off "colorscheme wildcharm colorscheme habamax set nobackup nowritebackup set noswapfile set number set tabstop=4 set shiftwidth=4 set softtabstop=4 set expandtab set autoindent set smarttab set mouse=a set laststatus=2 set scrolloff=5 set ignorecase set hlsearch set incsearch set wrap! set timeoutlen=1000 set ttimeoutlen=0 set hidden set wildmenu set clipboard=unnamed,unnamedplus set colorcolumn=75 "set backspace=indent,eol,start set updatetime=100 set signcolumn=auto :nnoremap K :vnoremap > >:normal gv :vnoremap < <:normal gv :vnoremap J :m '>+1gv=gv :vnoremap K :m '<-2gv=gv :nnoremap H :bnextzz :nnoremap L :bprevzz :nnoremap , :copen :nnoremap > :cn :nnoremap < :cp :nnoremap \\ :noh :nnoremap E :Ex :nnoremap z :set relativenumber :nnoremap x :set norelativenumber xnoremap p "_dP :nnoremap gb :make :nnoremap gs :w " Align regex command! -nargs=? -range Align ,call AlignSection('') vnoremap a :Align function! AlignSection(regex) range let extra = 1 let sep = empty(a:regex) ? '=' : a:regex let maxpos = 0 let section = getline(a:firstline, a:lastline) for line in section let pos = match(line, ' *'.sep) if maxpos < pos let maxpos = pos endif endfor call map(section, 'AlignLine(v:val, sep, maxpos, extra)') call setline(a:firstline, section) endfunction function! AlignLine(line, sep, maxpos, extra) let m = matchlist(a:line, '\(.\{-}\) \{-}\('.a:sep.'.*\)') if empty(m) return a:line endif let spaces = repeat(' ', a:maxpos - strlen(m[1]) + a:extra) return m[1] . spaces . m[2] endfunction