2019-03-22 13:42:12 +01:00
|
|
|
|
" if tabular
|
2019-03-23 21:48:29 +01:00
|
|
|
|
vnoremap a= :Tabularize /=<CR>
|
|
|
|
|
|
vnoremap a; :Tabularize /::<CR>
|
|
|
|
|
|
vnoremap a- :Tabularize /-><CR>
|
2019-03-22 13:42:12 +01:00
|
|
|
|
|
|
|
|
|
|
nnoremap <C-p> :FZF<CR>
|
|
|
|
|
|
let g:fzf_layout = { 'down': '~15%' }
|
|
|
|
|
|
|
2019-04-13 22:28:22 +02:00
|
|
|
|
" colorscheme delek hipster
|
2019-04-14 23:39:05 +02:00
|
|
|
|
" colorscheme 256_noir
|
|
|
|
|
|
colorscheme paramount
|
2019-04-18 17:12:47 +02:00
|
|
|
|
set background=dark
|
2019-03-22 13:42:12 +01:00
|
|
|
|
|
|
|
|
|
|
let mapleader = ","
|
2019-03-23 21:48:29 +01:00
|
|
|
|
" let maplocalleader="\\"
|
2019-03-22 13:42:12 +01:00
|
|
|
|
|
2019-04-02 23:24:31 +02:00
|
|
|
|
noremap <Leader>h :<C-u>split<CR>
|
|
|
|
|
|
noremap <Leader>v :<C-u>vsplit<CR>
|
|
|
|
|
|
noremap <Leader>gs :Gstatus<CR>
|
|
|
|
|
|
noremap <Leader>gc :Gcommit<CR>
|
|
|
|
|
|
noremap <leader>n :bn<CR>
|
|
|
|
|
|
noremap <leader>p :bp<CR>
|
|
|
|
|
|
noremap <leader>c :bd<CR>
|
|
|
|
|
|
|
|
|
|
|
|
" reindent whole file
|
|
|
|
|
|
noremap <leader>i mzgg=G`z
|
|
|
|
|
|
|
|
|
|
|
|
nnoremap <Leader>a <Plug>(ale_hover)
|
|
|
|
|
|
nnoremap <Leader>d <Plug>(ale_go_to_definition_in_tab)
|
|
|
|
|
|
nnoremap <Leader>rf <Plug>(ale_find_references)
|
|
|
|
|
|
|
2019-03-22 13:42:12 +01:00
|
|
|
|
filetype plugin indent on
|
2019-05-13 07:22:58 +02:00
|
|
|
|
set notitle
|
2019-03-22 13:42:12 +01:00
|
|
|
|
set nocompatible
|
|
|
|
|
|
set smartcase
|
|
|
|
|
|
set shiftwidth=2 tabstop=2 expandtab
|
2019-04-13 22:28:22 +02:00
|
|
|
|
set laststatus=1
|
2019-03-22 13:42:12 +01:00
|
|
|
|
set number
|
2019-04-13 22:28:22 +02:00
|
|
|
|
set path+=**
|
|
|
|
|
|
set splitbelow
|
|
|
|
|
|
set splitright
|
2019-03-22 13:42:12 +01:00
|
|
|
|
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:␣,trail:· showbreak=↪
|
|
|
|
|
|
set foldlevelstart=30
|
|
|
|
|
|
|
2019-03-23 21:48:29 +01:00
|
|
|
|
" 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
|
2019-03-22 13:42:12 +01:00
|
|
|
|
|
2019-03-23 21:48:29 +01:00
|
|
|
|
" call matchadd('colorcolumn', '\%101v', 100)
|
|
|
|
|
|
" highlight colorcolumn ctermbg=red
|
2019-03-22 13:42:12 +01:00
|
|
|
|
|
|
|
|
|
|
" 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
|
|
|
|
|
|
|
2019-03-23 21:48:29 +01:00
|
|
|
|
nnoremap <C-j> ddp | vnoremap <C-j> xp`[V`]
|
|
|
|
|
|
nnoremap <C-k> ddkP | vnoremap <C-k> xkP`[V`]
|
2019-03-22 13:42:12 +01:00
|
|
|
|
|
|
|
|
|
|
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
|
2019-04-19 03:11:51 +02:00
|
|
|
|
autocmd bufnewfile,bufread *.nix packadd vim-nix | set filetype=nix | set path+=/var/src
|
2019-04-18 17:10:20 +02:00
|
|
|
|
autocmd bufnewfile,bufread *.rust packadd rust-vim " | packadd deoplete-rust
|
2019-04-02 23:24:31 +02:00
|
|
|
|
autocmd bufnewfile,bufread *.csv packadd csv-vim | set filetype=csv
|
2019-08-12 14:57:31 +02:00
|
|
|
|
autocmd bufnewfile,bufread *.toml packadd vim-toml | set filetype=toml
|
2019-03-22 13:42:12 +01:00
|
|
|
|
autocmd bufnewfile,bufread *.tex packadd vimtex | set filetype=tex
|
2019-08-21 09:12:41 +02:00
|
|
|
|
autocmd bufnewfile,bufread *.ts packadd typescript-vim | set filetype=typescript
|
2019-08-23 10:27:28 +02:00
|
|
|
|
autocmd bufnewfile,bufread *.purs packadd purescript-vim | set filetype=purescript
|
2019-04-21 08:31:34 +02:00
|
|
|
|
autocmd bufnewfile,bufread *.jq packadd jq.vim
|
2019-03-22 13:42:12 +01:00
|
|
|
|
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
|
2019-08-18 19:15:18 +02:00
|
|
|
|
autocmd bufnewfile,bufread *todo.txt packadd todo.txt-vim | set filetype=todo.txt
|
2019-04-21 15:22:40 +02:00
|
|
|
|
autocmd filetype haskell packadd haskell-vim | set keywordprg=hoogle\ -i
|
2019-03-22 13:42:12 +01:00
|
|
|
|
autocmd filetype javascript packadd vim-javascript
|
|
|
|
|
|
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
|
2019-04-18 17:09:34 +02:00
|
|
|
|
|
|
|
|
|
|
autocmd VimEnter * UpdateRemotePlugins
|
2019-03-22 13:42:12 +01:00
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
"if exists("g:loaded_startify")
|
|
|
|
|
|
let g:startify_custom_header = ''
|
|
|
|
|
|
"endif
|
|
|
|
|
|
|
|
|
|
|
|
" if exists("g:loaded_deoplete")
|
|
|
|
|
|
let g:deoplete#enable_at_startup = 1
|
2019-06-13 14:16:29 +02:00
|
|
|
|
set completeopt=noinsert,menuone,noselect
|
|
|
|
|
|
let g:deoplete#sources = {}
|
|
|
|
|
|
let g:deoplete#sources._ = ['ale', 'file', 'omni', 'buffer']
|
2019-03-22 13:42:12 +01:00
|
|
|
|
" endif
|
|
|
|
|
|
"
|
2019-04-18 17:10:20 +02:00
|
|
|
|
" 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'
|
2019-03-22 13:42:12 +01:00
|
|
|
|
|
|
|
|
|
|
" 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 = {
|
2019-04-02 23:24:31 +02:00
|
|
|
|
\ 'css': ['csslint'],
|
2019-03-22 13:42:12 +01:00
|
|
|
|
\ 'haskell': ['ghc', 'cabal-ghc', 'hlint'],
|
|
|
|
|
|
\ 'html': ['tidy', 'proselint'],
|
|
|
|
|
|
\ 'latex': ['lacheck', 'chktex', 'proselint'],
|
|
|
|
|
|
\ 'pandoc': ['proselint'],
|
2019-03-23 21:48:29 +01:00
|
|
|
|
\ 'ruby': ['rubocop'],
|
2019-04-02 23:24:31 +02:00
|
|
|
|
\ 'json': ['jsonlint'],
|
2019-04-18 17:10:20 +02:00
|
|
|
|
\ 'rust': ['cargo'],
|
2019-04-02 23:24:31 +02:00
|
|
|
|
\ 'python': ['pyls'],
|
2019-03-22 13:42:12 +01:00
|
|
|
|
\}
|
|
|
|
|
|
let g:ale_fixers = {
|
|
|
|
|
|
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
|
2019-04-03 00:32:14 +02:00
|
|
|
|
\ 'haskell': ['brittany'],
|
2019-03-22 13:42:12 +01:00
|
|
|
|
\ 'javascript': ['prettier'],
|
|
|
|
|
|
\ 'typescript': ['prettier'],
|
|
|
|
|
|
\ 'css': ['prettier'],
|
|
|
|
|
|
\ 'html': ['prettier'],
|
|
|
|
|
|
\ 'markdown': ['prettier'],
|
|
|
|
|
|
\ 'json': ['jq'],
|
|
|
|
|
|
\ 'python': ['black'],
|
|
|
|
|
|
\ 'rust': ['rustfmt']
|
|
|
|
|
|
\}
|
2019-06-13 14:16:29 +02:00
|
|
|
|
let g:ale_set_quickfix = 1
|
2019-03-22 13:42:12 +01:00
|
|
|
|
let g:ale_fix_on_save = 1
|
|
|
|
|
|
let g:ale_completion_enabled = 1
|
|
|
|
|
|
" endif
|
|
|
|
|
|
|
|
|
|
|
|
"if exists("g:loaded_airline")
|
2019-04-13 22:28:22 +02:00
|
|
|
|
" set noshowmode laststatus=0 noruler
|
2019-03-22 13:42:12 +01:00
|
|
|
|
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
|