filetype plugin indent on
filetype on

" options
set nu
set rnu

set mouse+=a
set linebreak
set shiftwidth=2
set tabstop=2
set softtabstop=2
set expandtab
set smarttab
set shiftround
set autoindent
set textwidth=80
set colorcolumn=80
set list
set nowrap

set undofile nohlsearch incsearch

set scrolloff=7

autocmd FileType tex,text set nosmarttab autoindent
autocmd Filetype python set textwidth=0 formatprg=autopep8 shiftwidth=4 tabstop=4 softtabstop=4
autocmd FileType c,cpp,slang set nosmarttab autoindent
autocmd Filetype markdown set nosmarttab shiftwidth=4 tabstop=4  softtabstop=4 autoindent

" Remaps

let g:mapleader=" "
nnoremap j gj
nnoremap k gk

nnoremap <C-h>, <C-w>h
nnoremap <C-j>, <C-w>j
nnoremap <C-k>, <C-w>k
nnoremap <C-l>, <C-w>l

nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l

inoremap <A-a> ā
inoremap <A-e> ē
inoremap <A-i> ī
inoremap <A-o> ō
inoremap <A-u> ū

nnoremap <F12> :w<BAR>:!texbld run compile<CR>
nnoremap <F5> :w<BAR>:!./test.sh<CR>

vnoremap J :m '>+1<CR>gv=gv
vnoremap K :m '<-2<CR>gv=gv

nnoremap J mzJ`z
nnoremap <C-d> <C-d>zz
nnoremap <C-u> <C-u>zz
nnoremap n nzzzv
nnoremap N Nzzzv

xnoremap <leader>p _dP
vnoremap <leader>y +y
nnoremap <leader>y +y
nnoremap <leader>Y +Y
nnoremap <leader>x :!chmod +x %:p<CR>
nnoremap <leader>X :!chmod -x %<CR>
nnoremap <leader>e :! %:p<CR>


" Status Line
" https://www.tdaly.co.uk/projects/vim-statusline-generator/
"