aboutsummaryrefslogblamecommitdiffstats
path: root/vim/min-vim
blob: b26e1f20b5b152db05555ce7e818d753ac399605 (plain) (tree)
1
2
3
4
5
6
7
8
9







                         
         
            
                     









                               
                             


              
              





                                                                      
            



                
                








                 
                

             
                



                                                  
           



                   
                              
                                                          



                          


                






































































                                                                  








                                                                 

                                                             



                                                                       

            




                                                       









                                                                               
 

                   
 
filetype plugin on
filetype plugin indent on

"source ~/.vim/grep.vim

let maplocalleader = "\\"
let mapleader = ","

syntax on
set autoread
set foldmethod=marker
set autowrite
set backspace=indent,eol,start
"set colorcolumn=80
"set cursorline
set completeopt=menuone,longest
set display=truncate
set equalalways
set fileformat=unix
set hidden
set history=1000
set grepprg=git\ grep\ -n\ $*
set ignorecase
set incsearch
set infercase
set lazyredraw
set laststatus=2
"set list
set listchars=nbsp:%,tab:▸\ ,trail:_,eol:¬,precedes:←,extends:→
set matchtime=8
set nobackup
set nocompatible
set hlsearch
set nojoinspaces
set nomodeline
set noshelltemp
set noswapfile
set nocursorline
set noundofile
set nowritebackup
set path+=**
set report=0
set ruler
set scrolloff=5
set shell=bash
set shortmess+=c
set showcmd
"set showbreak=\
set showmatch
set showmode
set laststatus=0
set signcolumn=number
set splitright
set tabstop=4 softtabstop=4 shiftwidth=4 expandtab
set ttimeout
set ttyfast
set ttimeoutlen=100
"set viminfo=
set wildmenu
set wildoptions=pum
set wildmode=longest:full,full
set wildignore=**/__pycache*/**,*/node_modules/*,*/.venv/*
set undodir=$HOME/.vimundo
set undofile
set undolevels=999
set undoreload=10000
set wrap
packadd! matchit

" Snippets 
let g:UltiSnipsExpandTrigger="<C-y>"
let g:UltiSnipsJumpForwardTrigger="<S-f>"
let g:UltiSnipsJumpBackwardTrigger="<S-b>"
let g:ycm_key_list_select_completion=[]
let g:ycm_key_list_previous_completion=[]

" Vital plugins

call plug#begin()
Plug 'tpope/vim-commentary'
Plug 'SirVer/UltiSnips'
Plug 'preservim/vim-markdown'
Plug 'honza/vim-snippets'
Plug 'mhinz/vim-signify'
Plug 'vim-test/vim-test'
Plug 'dense-analysis/ale'
call plug#end()

" ALE 
let g:ale_enabled = 1
let g:ale_set_balloons = 0
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
let g:ale_sign_error = '!'
let g:ale_sign_warning = '?'
let g:ale_lint_on_text_changed = 1
let g:ale_hover_cursor = 1
let g:ale_virtualtext_cursor = 'disabled'
let g:ale_sign_column_always = 1
let g:ale_open_list = 0
let g:ale_set_highlights = 1
let g:ale_set_signs = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'ALE Error'
let g:ale_echo_msg_format = 'ALE: %linter% - %code: %%s'
let g:ale_loclist_msg_format = 'ALE: %linter% - %code: %%s'
let g:ale_echo_msg_warning_str = 'ALE Warning'
let g:ale_linters = {'python': ['ruff', 'mypy'],
\                    'ruby': ['standardrb', 'rubocop'],
\                    'ocaml': ['merlin'],
\					 'javascript': ['eslint'],
\                    'cpp': ['clangd'],
\                    'yaml': ['yamllint'],
\                    'c': ['clangd'],
\                    'go': ['gopls', 'golint', 'gofmt'],
 \}
let g:ale_fixers = {
\           'python': ['ruff_format', 'isort', 'yapf'],
\           'ruby': ['standardrb'],
\	        'javascript': ['eslint'],
\           'go': ['gofmt', 'goimports', 'gopls'],
\	        'cpp': ['clang-format'],
\	        'c': ['clang-format'],
\           'rust': ['rustfmt']
\           }
let g:ale_python_mypy_ignore_invalid_syntax = 1
let g:ale_python_mypy_executable = 'mypy'
let g:ale_python_mypy_options = '--config-file mypy.ini'
" let g:ale_sign_error = '>>'
let g:ale_fix_on_save = 1
let g:ale_linters_explicit = 0
let g:ale_completion_enabled = 1
" Map movement through errors without wrapping.
" nmap <silent> <C-k> <Plug>(ale_previous)
" nmap <silent> <C-j> <Plug>(ale_next)
" OR map keys to use wrapping.
nmap <silent> <C-k> <Plug>(ale_previous_wrap)
nmap <silent> <C-j> <Plug>(ale_next_wrap)

" highlight spaces at the end of line
highlight WhiteSpaceEOL ctermbg=darkgreen
match WhiteSpaceEOL /\s$/
autocmd WinEnter * match WhiteSpaceEOL /\s$/

" after you paste something, press gb to select it in visual mode
" so that you could format it or do something else
nnoremap <expr> gb '`[' . strpart(getregtype(), 0, 1) . '`]'

nnoremap <leader>ev <C-w>s<C-w>j<C-w>L:e $HOME/.vim/vimrc<cr>

nnoremap <C-l> :nohl<CR><C-L>

cnoreabbrev w!! w !sudo tee > /dev/null %|       " write file with sudo

command! W w

augroup textfiles
  autocmd!
  autocmd filetype markdown setlocal spell spelllang=en
augroup end

" ghetto snippets - leave out for now
" augroup htmlshortcuts
"     autocmd!
"     autocmd filetype htmldjango,html inoremap `li <li><cr></li><esc>ka<cr>
"     autocmd filetype htmldjango,html inoremap `ul <ul><cr></ul><esc>ka<cr>
"     autocmd filetype htmldjango,html inoremap `div <div><cr></div><esc>ka<cr>
"     autocmd filetype htmldjango,html inoremap `p <p></p><esc>hhhi
"     autocmd filetype htmldjango,html inoremap `{{ {{ }}<esc>hhi
"     autocmd FileType htmldjango,html inoremap `{% {% %}<Left><Left><Left>
" augroup end

set background=dark
colorscheme koehler