You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
3.4 KiB
100 lines
3.4 KiB
" 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<CR> |
|
map <Leader>c <silent> :call TrimWhiteSpace()<CR> |
|
" }}} |
|
|
|
" 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#formatter = 'unique_tail' |
|
" }}}} |
|
" }}} |
|
|
|
" 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 <buffer> %s/\s\+$//e " When saving a Python file, remove tailing spaces |
|
|
|
" 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 {{{{ |
|
" 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 (<CR>). |
|
" There is one thing to take care, though: <CR> is NOT <C-R>. |
|
" <C-R> will call the function (strftime), which will insert the current |
|
" date. |
|
au FileType markdown iab <silent> :header +++<CR>title = ""<CR>date = <C-R>=strftime('%Y-%m-%d')<CR><CR><CR>[taxonomies]<CR>tags = [""]<CR>+++ |
|
" This abbreviation adds a modeline to set VIM to change the spell |
|
" lang to portuguese. |
|
au FileType markdown iab :pt <!--<CR>vim:spelllang=pt:<CR>--> |
|
|
|
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 |
|
" }}}}
|
|
|