summaryrefslogtreecommitdiff
path: root/vim/vimrc
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2021-11-03 19:59:44 +0100
committerMiguel <m.i@gmx.at>2021-11-03 19:59:44 +0100
commitf70d5dc9b1f546bcfae67f067fe2e3b67f94ca45 (patch)
tree3bffaa05b78db0e393bc44eb273f771e08320154 /vim/vimrc
parente3fb79099e233185825b248a0b275173bd182239 (diff)
improving dotfiles
Diffstat (limited to 'vim/vimrc')
-rw-r--r--vim/vimrc527
1 files changed, 0 insertions, 527 deletions
diff --git a/vim/vimrc b/vim/vimrc
deleted file mode 100644
index 1362055..0000000
--- a/vim/vimrc
+++ /dev/null
@@ -1,527 +0,0 @@
-"Miguel's VIMRC (some stuff added recently depends on NVIM)
-
-" {{{ NOTES
-" THIS LOOSE NOTES REQUIRE REVIEW!
-" external links to browser
-" https://wiki.haskell.org/99_questions/Solutions/34
-" http://www.stephendiehl.com/posts/vim_2016.html
-" https://github.com/lukerandall/haskellmode-vim
-" :h compiler-plugin
-" :help equalprg
-" 15:15:33 gagbo | and then you can map it on key like nnoremap │ aauren
-" | <F7> :compiler clang-tidy<CR>:make and nnoremap │ abbec
-" | <F8> :compiler clang<CR>:make in like │ Accord
-" | ~/.vim/after/ftplugin/cpp.vim for example
-" https://lexi-lambda.github.io/blog/2018/02/10/an-opinionated-guide-to-haskell-in-2018/
-" https://mendo.zone/fun/neovim-setup-haskell/
-" https://github.com/aloiscochard/codex
-" https://github.com/haskell/haskell-ide-engine#using-hie-with-vim-or-neovim ?
-" ghc-mod, hlint (haskell)
-" https://wiki.haskell.org/Vim
-" http://www.alexeyshmalko.com/2014/using-vim-as-c-cpp-ide/
-" https://github.com/vim-airline/vim-airline
-" https://github.com/spf13/spf13-vim
-" http://antjanus.com/blog/thoughts-and-opinions/use-vim/
-" http://stevelosh.com/blog/2010/09/coming-home-to-vim/
-" http://derekingrouville.com/2012/vim-is-my-ide/
-" https://github.com/VundleVim/Vundle.vim
-" draculatheme.com
-" learnvimscriptthehardway.stevelosh.com "
-" autocomplete
-" jump to defintion / list calls / ctags shortcuts?
-" spellcheck / translate / thesaurus / dict
-" change mappings to more specific mappings and use noremap!
-" toggle 'cursorline' via hotkey for nicer reading experience.
-" ft=c.doxygen etc.
-" include dependancies as git submodules (wherever possible?? seriously?) (licenses?)
-" :help complete-functions
-" quickfix
-" compiler/debugger invocation
-" release vim-colortune plugin
-" load layout automatically on start (pff)
-" ConqueGDB Resize
-" Do something about startup lag (because of YouCompleteMe)
-" Do something about the input problems in ConqueGDB/Term (YouCompl?)
-" implement a plugin for fast-reading (check if one exists first ;))
-" plugins on vim.org etc.
-" syntastic! https://github.com/vim-syntastic/syntastic
-" vimproc! https://github.com/Shougo/vimproc.vim
-" pathogen / vundle DONE
-" NerdTree DONE
-" minibufexpl DONE
-" fugitive DONE
-" vim-sensible DONE
-" taglist.vim
-" snipMate
-" c.vim
-" autocomplpop
-" surround
-" perl-support
-" matchit
-" vimspell
-" conqueshell
-" fuzzyfinder
-" Nerd Commenter
-" tSkeleton
-" grep
-" cppcomplete
-" colortest
-" colour sampler pack
-" gundo
-" CScope / CCTree
-" inline reference/ (stlrefvim?)
-" emmet.io (webdev)
-" }}}
-
-" {{{ VUNDLE
-" As required by https://github.com/VundleVim/Vundle.vim
-set nocompatible
-filetype off
-set rtp+=~/.vim/bundle/Vundle.vim
-call vundle#begin()
-
-" Plugin 'Valloric/YouCompleteMe'
-" Plugin 'Shougo/vimproc.vim'
-" Plugin 'vim-scripts/Conque-GDB'
-" Plugin 'dracula/vim'
-" Plugin 'git://ex40.softwarefools.com/vim-potion.git'
-" Plugin 'git://ex40.softwarefools.com/vim-colortune.git'
-" Plugin 'terryma/vim-multiple-cursors'
-
-Plugin 'gmarik/Vundle.vim'
-
-Plugin 'scrooloose/nerdtree'
-Plugin 'altercation/vim-colors-solarized'
-Plugin 'fholgado/minibufexpl.vim'
-Plugin 'majutsushi/tagbar'
-
-Plugin 'tpope/vim-fugitive'
-Plugin 'tpope/vim-sensible'
-Plugin 'tpope/vim-surround'
-
-Plugin 'MarcWeber/vim-addon-mw-utils'
-Plugin 'tomtom/tlib_vim'
-
-Plugin 'garbas/vim-snipmate'
-Plugin 'honza/vim-snippets'
-
-Plugin 'ndmitchell/ghcid', { 'rtp': 'plugins/nvim' }
-Plugin 'neomake/neomake'
-Plugin 'parsonsmatt/intero-neovim'
-Plugin 'neovimhaskell/haskell-vim'
-Plugin 'mileszs/ack.vim'
-
-call vundle#end()
-filetype plugin indent on
-" }}}
-
-"{{{ DISABLED
-" limited .vimrc in current dir
-" set exrc
-" set secure
-
-" let g:ConqueGdb_Leader = '\'
-" let g:ConqueTerm_CloseOnEnd = 1
-
-" let g:potion_command = "/home/miguel/int/dev/potion/bin/potion"
-
-" set wrap
-" set showbreak=>_
-
-" move line under the cursor up and down.
-" nnoremap <leader>- ddp
-" nnoremap <leader>_ kddpk
-
-" abbreviations and typo correction
-" iabbrev teh the
-" set spell
-" }}}
-
-" {{{ BASICS
-
-" {{{ mapleaders
-" use <space> but remap to _ so it is visible for 'showcmd'
-nmap <space> _
-let mapleader="\_"
-let maplocalleader="\_"
-" }}}
-
-" {{{ misc
-set autoread
-set foldmethod=marker
-set nowrap
-set backspace=2
-" set ruler
-set showcmd
-set number
-set hidden
-
-"set cursorcolumn
-set cursorline
-
-" save before making etc.
-set autowrite
-
-" some nice candy
-set laststatus=2 "always show status line on last window
-set wildmenu
-
-" indent
-" set autoindent
-" set cindent
-
-" mouse support in xterm
-set mouse=a
-
-"other
-set previewheight=10
-
-" http://robots.thoughtbot.com/vim-splits-move-faster-and-more-naturally
-" set splitbelow
-" set splitright
-
-" easy move between windows
-nnoremap <C-J> <C-W><C-J>
-nnoremap <C-K> <C-W><C-K>
-nnoremap <C-L> <C-W><C-L>
-nnoremap <C-H> <C-W><C-H>
-" }}}
-
-" {{{ statusline
-set statusline=%f " Path to the file
-set statusline+=%m " modified flag
-set statusline+=[%n] " buffer number
-set statusline+=%= " Switch to the right side
-set statusline+=%l,%c " Current line,column
-set statusline+=\ (%L,%P) " Percentage
-"set statusline& " reset
-" }}}
-
-" {{{ terminal width / colorcolumn
-" http://richarddingwall.name/2008/05/31/is-the-80-character-line-limit-still-relevant/
-"
-" set tw=80
-" set tw=72
-" set tw=78 (for instance vims :help)
-set tw=0
-set colorcolumn=73
-" }}}
-
-" {{{ tabs
-set listchars=tab:>.
-set tabstop=8
-set expandtab
-set softtabstop=4
-set shiftwidth=4
-set shiftround
-" }}}
-
-" {{{ folding
-set foldcolumn=5
-set foldlevelstart=0
-" }}}
-
-" {{{ colorscheme / syntax highlight
-syntax enable
-
-if has('gui_running')
- set background=light
-else
- set background=dark
-endif
-
-set background=dark
-
-colorscheme solarized
-
-hi SpellBad ctermfg=white
-hi SpellBad ctermbg=red
-
-syntax sync fromstart
-" }}}
-
-" {{{ minimal gui
-" set guioptions=
-set guioptions-=m
-set guioptions-=T
-set guioptions-=r
-set guioptions-=L
-set guifont=Monospace\ 9
-" }}}
-
-" {{{ search
-set hlsearch
-set incsearch
-" }}}
-
-" {{{ match brackets
-set showmatch
-set matchtime=5
-" }}}
-" }}}
-
-" {{{ KEY BINDINGS
-
-" temporary mappings, to get rid of bad habits.
-" inoremap <esc> <nop>
-" inoremap <Up> <nop>
-" inoremap <Down> <nop>
-" inoremap <Left> <nop>
-" inoremap <Right> <nop>
-
-" map <F5> :silent make \| copen \| redraw!<CR>
-" map <F5> :silent make \| redraw!<CR>
-" map <F5> :make<CR>
-" nnoremap <C-]> <C-]>:tselect<CR>
-" nnoremap <leader>cc :call Colortune_fill()<cr>
-
-" make
-" nnoremap <leader>mm :silent make!<cr>
-" nnoremap <leader>mc :silent make! clean<cr>
-" nnoremap <leader>mn :silent make! new<cr>
-" nnoremap <leader>mr :silent make!<cr>:call system("make run &")<cr>
-" nnoremap <leader>md :silent make!<cr>:call system("make debug &")<cr>
-" nnoremap <leader>ms :silent make! stop<cr>
-" nnoremap <leader>mf :silent make! %:r<cr>:redraw! <cr>
-" nnoremap <leader>mx :silent make! %:r <bar> !./%:r<cr>
-"
-" session handling
-" nnoremap <leader>ss :call Session_save()<cr>
-" nnoremap <leader>sl :call Session_load()<cr>
-"
-" retab
-" map <leader>rt :retab!<CR>
-
-
-" activate 'very magic' for searches automatically
-nnoremap / /\v
-nnoremap ? ?\v
-
-" alt esc in insert mode
-inoremap jk <esc>
-
-" toggle tabs visibility
-noremap <leader>t :set invlist<CR>
-
-" easy editing and sourcing of vimrc
-" nnoremap <leader>sv :source $MYVIMRC<cr>
-nnoremap <leader>ev :e $MYVIMRC<cr>
-
-" turn off search highlight
-nnoremap <leader>h :nohlsearch<cr>
-
-" toggle visibility of trailing whitespaces
-nnoremap <leader>w :match ErrorMsg /\v +$/<cr>
-nnoremap <leader>W :match<cr>
-
-" toggle and navigate quickfix window
-nnoremap <leader>cn :cnext<cr>
-nnoremap <leader>cp :cprevious<cr>
-nnoremap <leader>cc :cc<cr>
-nnoremap <leader>cq :copen<cr>
-nnoremap <leader>cQ :cclose<cr>
-
-" buffer navigaion
-nnoremap <leader>bn :MBEbn<cr>
-nnoremap <leader>bp :MBEbp<cr>
-nnoremap <leader>bd :MBEbd<cr>
-
-" layout
-nnoremap <leader>ln :NERDTreeToggle<cr>
-nnoremap <leader>lt :TagbarToggle<cr>
-nnoremap <leader>lm :MBEToggle<cr>
-"nnoremap <leader>lg :ConqueGdb<cr>
-
-" silver search
-noremap <leader>a :Ack!<Space>
-
-" stylish-haskell
-" noremap <leader>sh :!stylish-haskell
-
-" ctrl-space auto complete in insert mode
-inoremap <C-Space> <C-N>
-
-" show list if multiple ctrl-] matches
-nnoremap <C-]> g<C-]>
-" }}}
-
-" {{{ FILETYPES
-" {{{ custom highlight (twig)
-augroup filetype_custom_highlight
- autocmd!
- au BufRead,BufNewFile *.twig set filetype=htmljinja
-augroup END
-" }}}
-
-" {{{ markdown
-augroup filetype_markdown
- autocmd!
- "autocmd FileType markdown setlocal spell
- "autocmd FileType markdown setlocal list
-augroup END
-" }}}
-
-" {{{ cpp
-augroup filetype_cpp
- autocmd!
- autocmd FileType cpp nnoremap <buffer> <localleader>c I//<esc>
- autocmd FileType cpp :iabbrev <buffer> iff if () <cr>{<cr>}jkF
- autocmd FileType cpp nnoremap <buffer> <leader>bo :r ~/_int/dev/misc/c++/template/template.cpp<cr>
-augroup END
-" }}}
-
-" {{{ haskell
-augroup filetype_haskell
- autocmd!
- autocmd FileType haskell setlocal formatprg=stylish-haskell
- autocmd FileType haskell setlocal softtabstop=2
- autocmd FileType haskell setlocal shiftwidth=2
-" autocmd FileType haskell setlocal foldmethod=marker
-" autocmd Filetype haskell map <F5> :w<ENTER>:term cabal -- exec runghc %<ENTER>
-" autocmd Filetype haskell map <F5> :w<ENTER>:term make<ENTER>
-" autocmd Filetype haskell map <F5> :w<ENTER>:term make<ENTER>
-" autocmd FileType haskell setlocal expandtab
-augroup END
-" }}}
-" }}}
-
-" ADDED AT WORK
-if has ("nvim")
-tnoremap <Esc> <C-\><C-n>
-endif
-
-augroup interoMaps
- au!
- " Maps for intero. Restrict to Haskell buffers so the bindings don't collide.
-
- " Background process and window management
- au FileType haskell nnoremap <silent> <leader>is :InteroStart<CR>
- au FileType haskell nnoremap <silent> <leader>ik :InteroKill<CR>
- au FileType haskell nnoremap <silent> <leader>ir :InteroReload<CR>
-
- " Open intero/GHCi split horizontally
- au FileType haskell nnoremap <silent> <leader>io :InteroOpen<CR>
- " Open intero/GHCi split vertically
- au FileType haskell nnoremap <silent> <leader>iov :InteroOpen<CR><C-W>H
- au FileType haskell nnoremap <silent> <leader>ih :InteroHide<CR>
-
- " Reloading (pick one)
- " Automatically reload on save
- " au BufWritePost *.hs InteroReload
- " Manually save and reload
- au FileType haskell nnoremap <silent> <leader>wr :w \| :InteroReload<CR>
-
- " Load individual modules
- au FileType haskell nnoremap <silent> <leader>il :InteroLoadCurrentModule<CR>
- au FileType haskell nnoremap <silent> <leader>if :InteroLoadCurrentFile<CR>
-
- " Type-related information
- " Heads up! These next two differ from the rest.
- au FileType haskell map <silent> <leader>t <Plug>InteroGenericType
- au FileType haskell map <silent> <leader>T <Plug>InteroType
- au FileType haskell nnoremap <silent> <leader>it :InteroTypeInsert<CR>
-
- " Navigation
- au FileType haskell nnoremap <silent> <leader>jd :InteroGoToDef<CR>
-
- " Managing targets
- " Prompts you to enter targets (no silent):
- au FileType haskell nnoremap <leader>ist :InteroSetTargets<SPACE>
-augroup END
-
-" Intero starts automatically. Set this if you'd like to prevent that.
-let g:intero_start_immediately = 0
-
-" Enable type information on hover (when holding cursor at point for ~1 second).
-let g:intero_type_on_hover = 1
-
-" Change the intero window size; default is 10.
-let g:intero_window_size = 10
-
-" Sets the intero window to split vertically; default is horizontal
-let g:intero_vertical_split = 0
-
-" disable neomake
-let g:intero_use_neomake = 0
-
-" OPTIONAL: Make the update time shorter, so the type info will trigger faster.
-set updatetime=1000
-
-"https://github.com/MarcWeber/hasktags/blob/assets/hasktags.vim
-let g:tagbar_type_haskell = {
- \ 'ctagsbin' : 'hasktags',
- \ 'ctagsargs' : '-x -c -o-',
- \ 'kinds' : [
- \ 'm:modules:0:1',
- \ 'd:data:0:1',
- \ 'd_gadt:data gadt:0:1',
- \ 'nt:newtype:0:1',
- \ 'c:classes:0:1',
- \ 'i:instances:0:1',
- \ 'cons:constructors:0:1',
- \ 'c_gadt:constructor gadt:0:1',
- \ 'c_a:constructor accessors:1:1',
- \ 't:type names:0:1',
- \ 'pt:pattern types:0:1',
- \ 'pi:pattern implementations:0:1',
- \ 'ft:function types:0:1',
- \ 'fi:function implementations:0:1',
- \ 'o:others:0:1'
- \ ],
- \ 'sro' : '.',
- \ 'kind2scope' : {
- \ 'm' : 'module',
- \ 'd' : 'data',
- \ 'd_gadt' : 'd_gadt',
- \ 'c_gadt' : 'c_gadt',
- \ 'nt' : 'newtype',
- \ 'cons' : 'cons',
- \ 'c_a' : 'accessor',
- \ 'c' : 'class',
- \ 'i' : 'instance'
- \ },
- \ 'scope2kind' : {
- \ 'module' : 'm',
- \ 'data' : 'd',
- \ 'newtype' : 'nt',
- \ 'cons' : 'c_a',
- \ 'd_gadt' : 'c_gadt',
- \ 'class' : 'ft',
- \ 'instance' : 'ft'
- \ }
-\ }
-
-" do not show minibuf
-let g:miniBufExplorerAutoStart = 0
-let g:miniBufExplBRSplit = 0 "put above/left
-let g:miniBufExplVSplit = 20
-let g:miniBufExplSplitToEdge = 0
-let g:miniBufExplMaxSize = 25
-
-let g:intero_load_targets= ["twg:lib","twg:exe:twg"]
-
-let g:ghcid_keep_open = 0
-
-" show trailing whitespace per default:
-" match ErrorMsg /\v +$/
-
-" let g:ackprg = 'ag --nogroup --nocolor --column'
-let g:ackprg = 'ag --vimgrep'
-let g:ackhighlight = 1
-" let g:ack_autoclose = 1
-" let g:ack_autofold_results = 1
-cnoreabbrev Ack Ack!
-
-let g:haskell_enable_quantification = 1 " to enable highlighting of `forall`
-let g:haskell_enable_recursivedo = 1 " to enable highlighting of `mdo` and `rec`
-let g:haskell_enable_arrowsyntax = 1 " to enable highlighting of `proc`
-let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern`
-let g:haskell_enable_typeroles = 1 " to enable highlighting of type roles
-let g:haskell_enable_static_pointers = 1 " to enable highlighting of `static`
-let g:haskell_backpack = 1 " to enable highlighting of backpack keywords
-let g:intero_prompt_regex= ' >'
-" let g:haskell_classic_highlighting = 1
-
-let NERDTreeQuitOnOpen=1
-set ignorecase
-set smartcase