" Colors {{{ color molokai let g:rehash256 = 1 " }}} " Mappings {{{ nnoremap - :Ex " }}} " 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 " }}} " Plugin configuration {{{ " Airline {{{{ let g:airline#extensions#tabline#formatter = 'unique_tail' let g:airline#extensions#tabline#enabled = 1 let g:airline_theme='minimalist' " }}}} " }}} " 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 " Shortcut to add pylint disables au FileType python iab pylint # pylint: disable augroup END " }}}} " CSV files {{{{ augroup csv au FileType csv setlocal list " Display special characters, like tabs (for TSV files) augroup END " }}}} " Rust {{{{ let g:rustfmt_autosave = 1 " 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. " }}}} " 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 " }}}}