" Colors {{{ color molokai let g:rehash256 = 1 " }}} " Functions {{{ " Removes trailing spaces {{{{ function TrimWhiteSpace() %s/\s\+$// '' endfunction " }}}} " }}} " Settings for all files {{{ set cursorline " highlight the line in which the cursor is set foldmethod=marker " folding will use markers set nowrap " instead of wrapping the text to the next line, scroll left and right set laststatus=2 " Always display the status line set showtabline=2 " Always display the tab bar let mapleader = " " " Leader (special character for plugins) is Space " }}} " Mappings {{{ nnoremap - :Ex map c :call TrimWhiteSpace() " }}} " Plugin configuration {{{ " Airline {{{{ let g:airline_theme='minimalist' let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tabline#show_buffers = 0 let g:airline#extensions#tabline#show_close_button = 0 let g:airline#extensions#tabline#formatter = 'unique_tail' " }}}} " Skim {{{{ nmap :SK " }}}} " }}} " Filetype specific configurations {{{ " Vim files {{{{ augroup vim au FileType vim setlocal noexpandtab " use real tabs au FileType vim setlocal tabstop=4 " display tabs as 4 spaces au FileType vim setlocal shiftwidth=4 " Use 4 spaces when auto-indenting augroup END " }}}} " Python {{{{ augroup python au FileType python setlocal number " show line numbers au FileType python setlocal expandtab " use spaces instead of tabs au FileType python setlocal tabstop=4 " number of spaces to use for indentation au FileType python setlocal shiftwidth=4 " number of spaces to use for auto-indentation au FileType python setlocal softtabstop=4 " when deleting characters, consider 4 spaces as a tab au FileType python setlocal textwidth=79 " max line size au FileType python setlocal colorcolumn=80 " put a margin indicator au FileType python au BufWritePre %s/\s\+$//e " When saving a Python file, remove tailing spaces " Shortcut to add pylint disables au FileType python iab lint # pylint: disable augroup END " }}}} " CSV files {{{{ augroup csv au FileType csv setlocal list " Display special characters, like tabs (for TSV files) augroup END " }}}} " Rust {{{{ " Apply `rustfmt` when saving the file. Because this is related to the syntax " file and not something on the buffer itself, we can set it globally. let g:rustfmt_autosave = 1 " }}}} " Markdown {{{{ augroup markdown au FileType markdown setlocal iskeyword+=: " this is kinda of a "hack" to make abbr accept ":" in them " This is a long abbreviation, but: " Most of it is simply text, with linebreaks (). " There is one thing to take care, though: is NOT . " will call the function (strftime), which will insert the current " date. au FileType markdown iab :header +++title = ""date = =strftime('%Y-%m-%d')[taxonomies]tags = [""]+++ " This abbreviation adds a modeline to set VIM to change the spell " lang to portuguese. au FileType markdown iab :pt au FileType markdown setlocal spell " enable spell checking au FileType markdown setlocal textwidth=79 " max line size au FileType markdown setlocal expandtab " use spaces instead of tabs augroup END " }}}} " Shell {{{{ augroup shell au FileType sh setlocal tabstop=4 " display tabs as 4 spaces au FileType sh setlocal shiftwidth=4 " number of spaces to use for auto-indentation au FileType sh setlocal softtabstop=4 " when deleting characters, consider 4 spaces as a tab augroup END " }}}} "