" Basic settings filetype off " Leaders let g:mapleader = ',' let g:maplocalleader = '-' " Better Unix support set viewoptions=folds,options,cursor,unix,slash set encoding=utf-8 " True color support set termguicolors " Theme (required plugin 'material-vim') "let g:material_theme_style = 'default' | 'palenight' | 'ocean' | 'lighter' | " 'darker' | 'default-community' | 'palenight-community' | 'ocean-community' | " 'lighter-community' | 'darker-community' let g:material_theme_style = 'default' let g:lightline = { 'colorscheme': 'material_vim' } colorscheme material " Other options syntax on set backspace=2 set laststatus=2 set noshowmode " Tabs as spaces set expandtab set tabstop=2 set softtabstop=2 set shiftwidth=2 " Clear search highlighting nnoremap :nohlsearch " Fixes broken cursor on Linux set guicursor= " General editor options set hidden " Hide files when leaving them. set number " Show line numbers. set numberwidth=1 " Minimum line number column width. set cmdheight=2 " Number of screen lines to use for the commandline. set textwidth=0 " Lines length limit (0 if no limit). set linebreak " Don't cut lines in the middle of a work. set showmatch " Show matching parenthesis. set matchtime=2 " Time during which the matching parenthesis is shown. set formatoptions=jtcrq " Sensible default line auto cutting and formatting. set clipboard=unnamedplus " Copy/Past to/from clipboard set cursorline " Highlight line cursor is currently on set completeopt+=noinsert " Select the first item of popup menu automatically without inserting it set listchars=tab:→\ ,trail:~,nbsp:␣,eol:¬ " Invisible characters representation when :set list. " Search set incsearch " Incremental search. set ignorecase " Case insensitive. set smartcase " Case insensitive if no uppercase letter in pattern, case sensitive otherwise " Set up a line limiter for each lang au BufNewFile,BufRead *.nix set colorcolumn=101 au BufNewFile,BufRead *.vim set colorcolumn=101 au BufNewFile,BufRead *.ts,*.tsx set colorcolumn=101 au BufNewFile,BufRead *.js,*.jsx set colorcolumn=101 au BufNewFile,BufRead *.rs set colorcolumn=101 au BufNewFile,BufRead *.json set colorcolumn=81 au BufNewFile,BufRead *.yml,*.yaml set colorcolumn=81 au BufNewFile,BufRead *.md set colorcolumn=81 " TODO: add limiter for haskell " Spell check for markdown files au BufNewFile,BufRead *.md set spell " Enable fast navigation between windows nnoremap h nnoremap l nnoremap j nnoremap k " Disable the annoying and useless ex-mode nnoremap Q nnoremap gQ " Disable arrow keys and page up / down noremap noremap noremap noremap inoremap inoremap inoremap inoremap vnoremap vnoremap vnoremap vnoremap noremap inoremap vnoremap noremap inoremap vnoremap " Disable mouse / touchpad (only in vim) set mouse= inoremap inoremap inoremap inoremap inoremap inoremap inoremap inoremap inoremap inoremap inoremap inoremap " Incremental substitutin set inccommand=split " Misc nnoremap sv :source $MYVIMRC cabbrev bsp belowright split cabbrev rvsp belowright vsplit