"VIEW config
syntax off
filetype off
set number


"INDENT config
filetype plugin indent on
"" show existing tab with 8 spaces width
set tabstop=8
"
"" when indenting with '>', use 4 spaces width
set shiftwidth=4
"
"" On pressing tab, insert 4 spaces
set expandtab
set autoindent


"MACROS config
vnoremap <C-R> "hy:%s/<C-r>h//gc<left><left><left>
nnoremap <C-S> :w<CR>


"LaTEX config
vnoremap <C-b> c{\bfseries <C-r>"}<Esc>

"PLUGIN config
let g:NERDTreeNodeDelimiter = "\u00a0"
execute "set <M-n>=\en"
nnoremap <M-n> :NERDTree<CR>


"MACROS
"PASCAL_BEGIN
:iab ifi <Esc>^ifunction <Esc>eli(<Esc>lxhea: integer): integer;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>


:iab ifii <Esc>^ifunction <Esc>eli(<Esc>lxhea,
                                   \<Esc>ea: integer): integer;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab ifiii <Esc>^ifunction <Esc>eli(<Esc>lxhea,
                                    \<Esc>ea,
                                    \<Esc>ea: integer): integer;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab ifv <Esc>^ifunction <Esc>eli(<Esc>lxhea): integer;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab ifvv <Esc>^ifunction <Esc>eli(<Esc>lxhea,
                                   \<Esc>ea): integer;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>


:iab tfv <Esc>^ifunction <Esc>eli(<Esc>lxhea): TYPE;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>
        
:iab tfvv <Esc>^ifunction <Esc>eli(<Esc>lxhea,<Esc>ea): TYPE;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab tfvvv <Esc>^ifunction <Esc>eli(<Esc>lxhea,
                                    \<Esc>ea,
                                    \<Esc>ea): TYPE;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab tfvvvv <Esc>^ifunction <Esc>eli(<Esc>lxhea,
                                     \<Esc>ea,
                                     \<Esc>ea,
                                     \<Esc>ea): TYPE;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab tfvvvvv <Esc>^ifunction <Esc>eli(<Esc>lxhea,
                                      \<Esc>ea,
                                      \<Esc>ea,
                                      \<Esc>ea,
                                      \<Esc>ea): TYPE;<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab pi <Esc>^iprocedure <Esc>eli(<Esc>lxhea: integer);<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab pii <Esc>^iprocedure <Esc>eli(<Esc>lxhea,
                                   \<Esc>ea: integer);<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab pv <Esc>^iprocedure <Esc>eli(<Esc>lxhea);<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab pvv <Esc>^iprocedure <Esc>eli(<Esc>lxhea,<Esc>ea);<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab pvvv <Esc>^iprocedure <Esc>eli(<Esc>lxhea,<Esc>ea,<Esc>ea);<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab pvvvv <Esc>^iprocedure <Esc>eli(<Esc>lxhea,<Esc>ea,<Esc>ea,<Esc>ea);<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

:iab pvvvvv <Esc>^iprocedure <Esc>eli(<Esc>lxhea,
                                   \<Esc>ea,
                                   \<Esc>ea,
                                   \<Esc>ea,
                                   \<Esc>ea);<CR>
        \var<CR><ESC>20xi
        \begin<CR>
        \end;<Esc>O<BS>

"PASCAL_END

