set nocompatible        " prevent from emulating vi's bugs and limitations.
set t_Co=256            " allow more colors (256 - see below)

"color desert
"color gruvbox
"colorscheme molokai
color better-molokai

augroup colorscheme_change
                    autocmd!
"                           autocmd ColorScheme * highlight Comment ctermfg=gray
"                           autocmd ColorScheme * hi Visual  guifg=White guibg=LightBlue
"
autocmd ColorScheme * hi Comment ctermfg=102
autocmd ColorScheme * hi Visual ctermfg=230 ctermbg=196
augroup end

set number!
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null


" STATUS LINE ------------------------------------------------------------ {{{

" Clear status line when vimrc is reloaded.

set statusline=

" Status line left side.
set statusline+=\ %F\ %M\ %Y\ %R

" Use a divider to separate the left side from the right side.
set statusline+=%=

" Status line right side.
set statusline+=\ ascii:\ %b\ hex:\ 0x%B\ row:\ %l\ col:\ %c\ percent:\ %p%%

" Show the status on the second to last line.
set laststatus=2

" }}}


" Enable type file detection. Vim will be able to try to detect the type of file is use.
filetype on             "File type detection
filetype plugin on  "
filetype indent on      "

syntax on

set cursorline  "Set
set cursorcolumn
set tabstop=4
set nowrap

set ignorecase

set mousehide




" Show matching words during a search.
set showmatch " Show brackets
set showcmd   " Show (partal) commands in status line
" Use highlighting when doing a search.
set hlsearch

" Set the commands to save in history default number is 20.
set history=1000

" Enable auto completion menu after pressing TAB.
set wildmenu

" Make wildmenu behave like similar to Bash completion.
set wildmode=list:longest



"  Key Bindings:
" <F2>: past toggle (past without autoindent)
" <F3>: open file under cursor
" <F4>: toggle line numbers
" <F5>: open directory in new tab
" <F6>: toggle line wrapping
" <F7>: toggle list chars (show non printable chars)
" <F8>: indent whole file (4 space indention)
" <C-PageUp>: go to previous tab
" <C-PageDown>: go to next tab

 " past toggle {
 nnoremap <F2> :set invpaste paste?<CR>
 set pastetoggle=<F2>
 set showmode
 " }

 " openFileUnderCursor {
 map <F3> :wincmd gf<CR>
 " }

 " number toggle {
 map <F4> :set invnumber<CR>
 " }

" open directory in tab {
 map <F5> :tabnew ./<CR>
" }

" toggle line number wraping {
 map <F6> :set invwrap<CR>
" }

" toggle listchars {
 map <F7> :set invlist<CR>
"}

"indent {
map <F8>  mzgg=G`z
" }
"
noremap % v%
map <C-PageUp> :tabp<CR>
map <C-PageDown> :tabn<CR>
map <CTRL-V><CTRL-PAGEUP> :tabp<CR>
map <CTRL-V><CTRL-PAGEDOWN> :tabn<CR>