1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 18:21:07 +01:00
Files
niveum/dot/vimrc
Kierán Meinhardt 1d38af20b7 vim: improve tooling
2019-03-22 13:42:12 +01:00

184 lines
5.7 KiB
VimL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
" if tabular
vmap a= :Tabularize /=<CR>
vmap a; :Tabularize /::<CR>
vmap a- :Tabularize /-><CR>
nnoremap <C-p> :FZF<CR>
let g:fzf_layout = { 'down': '~15%' }
colorscheme delek
let mapleader = ","
filetype plugin indent on
set title
set nocompatible
set smartcase
set shiftwidth=2 tabstop=2 expandtab
set number
set path=$PWD/**
set wildmenu
set shortmess+=aI
set nowritebackup noswapfile
set mouse=a
set showmatch
set encoding=utf8 ffs=unix,dos,mac
set smartindent
set nowrap
set nohlsearch
set clipboard=unnamedplus
set nopaste
set list listchars=tab:⇥\ ,extends:,precedes:,nbsp:␣,trailshowbreak=
set foldlevelstart=30
if exists("g:loaded_netrwPlugin")
let g:netrw_banner=0
let g:netrw_browse_split=4
let g:netrw_altv=1 " open splits to the right
let g:netrw_liststyle=3 " tree view
let g:netrw_list_hide=netrw_gitignore#Hide()
let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'
endif
call matchadd('colorcolumn', '\%101v', 100)
highlight colorcolumn ctermbg=red
" undofile - This allows you to use undos after exiting and restarting
" This, like swap and backups, uses .vim-undo first, then ~/.vim/undo
" :help undo-persistence
if exists("+undofile")
if isdirectory($HOME . '/.vim/undo') == 0
:silent !mkdir -p ~/.vim/undo > /dev/null 2>&1
endif
set undodir=./.vim-undo//
set undodir+=~/.vim/undo//
set undofile
endif
nmap <C-j> ddp | vmap <C-j> xp`[V`]
nmap <C-k> ddkP | vmap <C-k> xkP`[V`]
nnoremap <silent> <Space> @=(foldlevel('.')?'za':"\<Space>")<CR>
vnoremap <Space> zf
command! RandomLine execute 'normal! '.(system('/bin/sh -c "echo -n $RANDOM"') % line('$')).'G'
" function! <SID>StripTrailingWhitespaces()
" let _s=@/
" let l=line(".")
" let c=col(".")
" %s/\s\+$//e
" let @/=_s
" call cursor(l,c)
" endfunction
function! s:DiffWithSaved()
let filetype=&ft
diffthis
vnew | r # | normal! 1Gdd
diffthis
execute "setlocal bt=nofile bh=wipe nobl noswf ro ft=" . filetype
endfunction
command! DiffSaved call s:DiffWithSaved()
if has("autocmd")
autocmd bufnewfile,bufread *.4th set filetype=forth
autocmd bufnewfile,bufread *.asm set filetype=nasm
autocmd bufnewfile,bufread *.c set keywordprg=man\ 3
autocmd bufnewfile,bufread *.conf set filetype=conf
autocmd bufnewfile,bufread *.fs packadd vim-fsharp | set filetype=fsharp
autocmd bufnewfile,bufread *.h set keywordprg=man\ 3
autocmd bufnewfile,bufread *.nix packadd vim-nix | set filetype=nix
autocmd bufnewfile,bufread *.rust packadd rust-vim | packadd deoplete-rust
autocmd bufnewfile,bufread *.csv packadd csv-vim
autocmd bufnewfile,bufread *.tex packadd vimtex | set filetype=tex
autocmd bufnewfile,bufread *.ts packadd vim-typescript
autocmd bufnewfile,bufread *.journal packadd vim-ledger | set filetype=ledger shiftwidth=4
autocmd bufnewfile,bufread config set filetype=conf
autocmd bufnewfile,bufread *.elm packadd elm-vim | set filetype=elm shiftwidth=4
autocmd bufnewfile,bufread *.dhall packadd dhall-vim | set filetype=dhall
autocmd filetype haskell packadd haskell-vim
autocmd filetype javascript packadd vim-javascript
autocmd filetype python packadd deoplete-jedi
autocmd filetype make setlocal noexpandtab
autocmd filetype html packadd emmet-vim
autocmd bufreadpost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
autocmd bufreadpre * setlocal foldmethod=indent
" autocmd bufwritepre * :call <SID>StripTrailingWhitespaces()
autocmd bufwinenter * if &fdm == 'indent' | setlocal foldmethod=manual | endif
endif
"if exists("g:loaded_startify")
let g:startify_custom_header = ''
"endif
" if exists("g:loaded_deoplete")
let g:deoplete#enable_at_startup = 1
" endif
"
let g:deoplete#sources#rust#racer_binary = $HOME . '/.cargo/bin/racer'
let g:deoplete#sources#rust#rust_source_path = substitute(system('rustc --print sysroot'), '\n$', '', '') . '/lib/rustlib/src/rust/src'
" if exists("g:loaded_supertab")
let g:SuperTabDefaultCompletionType = 'context'
" endif
let g:haskell_enable_quantification = 1
let g:haskell_enable_recursivedo = 1
let g:haskell_enable_arrowsyntax = 1
let g:haskell_enable_pattern_synonyms = 1
" if exists("g:loaded_ale")
let g:ale_linters = {
\ 'rust': ['cargo'],
\ 'haskell': ['ghc', 'cabal-ghc', 'hlint'],
\ 'html': ['tidy', 'proselint'],
\ 'latex': ['lacheck', 'chktex', 'proselint'],
\ 'pandoc': ['proselint'],
\}
let g:ale_fixers = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
\ 'haskell': ['hfmt'],
\ 'javascript': ['prettier'],
\ 'typescript': ['prettier'],
\ 'css': ['prettier'],
\ 'html': ['prettier'],
\ 'markdown': ['prettier'],
\ 'pandoc': ['prettier'],
\ 'json': ['jq'],
\ 'python': ['black'],
\ 'rust': ['rustfmt']
\}
let g:ale_fix_on_save = 1
let g:ale_completion_enabled = 1
" endif
"if exists("g:loaded_airline")
set noshowmode laststatus=0 noruler
let g:airline#extensions#tabline#close_symbol = 'X'
let g:airline#extensions#tabline#enabled = 0
"let g:airline#extensions#tabline#left_alt_sep = ''
"let g:airline#extensions#tabline#left_sep = ''
"let g:airline#extensions#tabline#right_alt_sep = ''
"let g:airline#extensions#tabline#right_sep = ''
let g:airline#extensions#tabline#show_close_button = 1
let g:airline#extensions#tabline#show_tab_type = 0
let g:airline#extensions#tabline#tab_min_count = 2
let g:airline#extensions#tabline#tab_nr_type = 0
let g:airline#extensions#tmuxline#enabled = 0
"let g:airline#extensions#wordcount#enabled = 1
"let g:airline_left_alt_sep = ''
"let g:airline_left_sep = ''
"let g:airline_right_alt_sep = ''
"let g:airline_right_sep = ''
let g:airline_section_z = '%{line(".")}/%{line("$")} %{col(".")}'
"endif
"if exists("g:loaded_airline_themes")
let g:airline_theme='base16'
"endif