" Miguel's Fresh Vimrc " " Started from scratch on 29th Apr 2021 " {{{ vim-plug call plug#begin('~/.vim/plugged') Plug 'rafi/awesome-vim-colorschemes' Plug 'jnurmine/Zenburn' Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' Plug 'autozimu/LanguageClient-neovim', { 'branch': 'next', 'do': 'bash install.sh' } Plug 'neovimhaskell/haskell-vim' Plug 'alx741/vim-stylishask' call plug#end() " }}} " {{{ misc " colorscheme desert " colorscheme gruvbox colorscheme zenburn set nocompatible set foldmethod=marker set nowrap set showcmd set number set hidden set colorcolumn=73 set backspace=2 " }}} syntax on filetype plugin indent on let g:airline_powerline_fonts = 1 nnoremap :call LanguageClient_contextMenu() let g:LanguageClient_serverCommands = { 'haskell': ['haskell-language-server-wrapper', '--lsp'] } let g:LanguageClient_diagnosticsDisplay = { \ 1: { \ "name": "Error", \ "texthl": "LanguageClientError", \ "signText": "X", \ "signTexthl": "LanguageClientErrorSign", \ "virtualTexthl": "Error" \ }, \ 2: { \ "name": "Warning", \ "texthl": "LanguageClientWarning", \ "signText": "W", \ "signTexthl": "LanguageClientWarningSign", \ "virtualTexthl": "Todo", \ }, \ 3: { \ "name": "Information", \ "texthl": "LanguageClientInfo", \ "signText": "i", \ "signTexthl": "LanguageClientInfoSign", \ "virtualTexthl": "Todo", \ }, \ 4: { \ "name": "Hint", \ "texthl": "LanguageClientInfo", \ "signText": "!", \ "signTexthl": "LanguageClientInfoSign", \ "virtualTexthl": "Todo", \ }, \ } 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 " {{{ tabs set listchars=tab:>. set tabstop=8 set expandtab set softtabstop=4 set shiftwidth=4 set shiftround " }}} " {{{ folding set foldcolumn=5 set foldlevelstart=0 " }}} " {{{ search set hlsearch set incsearch set smartcase " }}} " {{{ match brackets set showmatch set matchtime=5 " }}} " {{{ KEY BINDINGS " mapleader " use but remap to _ so it is visible for 'showcmd' nmap _ let mapleader="\_" let maplocalleader="\_" " get rid of bad habits. (might break other stuff eg. in cygwin) " inoremap " inoremap " inoremap " inoremap " inoremap " activate 'very magic' for searches automatically nnoremap / /\v nnoremap ? ?\v " alt esc in insert mode inoremap jk " toggle tabs visibility noremap t :set invlist " easy editing and sourcing of vimrc " nnoremap sv :source $MYVIMRC nnoremap ev :e $MYVIMRC " turn off search highlight nnoremap h :nohlsearch " layout "nnoremap ln :NERDTreeToggle " silver search "noremap a :Ack! " show list if multiple ctrl-] matches nnoremap g " ctrl-space auto complete in insert mode inoremap " FZF settings nmap f :Files| " fuzzy find files in the working directory (where you launched Vim from) nmap / :BLines| " fuzzy find lines in the current file nmap b :Buffers| " fuzzy find an open buffer nmap r :Rg | " fuzzy find text in the working directory nmap c :Commands| " fuzzy find Vim commands (like Ctrl-Shift-P in Sublime/Atom/VSC) nmap t :Tags| " fuzzy find tags " }}}