"" "" Environment "" " Vim environment let data = $XDG_DATA_HOME.'/nvim' let config = $XDG_CONFIG_HOME.'/nvim' let cache = $XDG_CACHE_HOME .'/nvim' let plugins = data.'/plugins' let &directory = cache.',~/,/tmp' let &backupdir = cache.',~/,/tmp' let &viminfo = cache.'/info' " Ctags data let &tags = cache.'/tags' " Keep history let &undodir = cache.'/undo' set undofile "" "" Plugins "" call plug#begin(plugins) " UI Plug 'kien/ctrlp.vim' Plug 'itchyny/lightline.vim' Plug 'airblade/vim-gitgutter' Plug 'majutsushi/tagbar', { 'on' : 'TagbarToggle' } Plug 'mbbill/undotree', { 'on' : 'UndotreeToggle' } Plug 'milkypostman/vim-togglelist' " Syntax Plug 'travitch/hasksyn' Plug 'LnL7/vim-nix' Plug 'ngn/vim-apl' Plug 'vim-pandoc/vim-pandoc-syntax' Plug 'kchmck/vim-coffee-script' Plug 'hdima/python-syntax' " Misc Plug 'townk/vim-autoclose' Plug 'tpope/vim-fugitive' Plug 'ervandew/supertab' Plug 'neomake/neomake' call plug#end() "" "" Options "" set hidden " Hide buffers set incsearch " Incremental search set mouse=a " Enable mouse support set ignorecase " Case insensitive search... set smartcase " ...for lowercase terms set showcmd " Show command while writing it set ruler " Show line/column position set nowrap " Disable line wrap set novb " Disable visual beep set nofoldenable " Disable folding set nobackup " Disable ~backup set noswapfile " Disable swap files set writebackup " Enable temp backups set nomodeline " Security set tabpagemax=10 " Limit number of tabs to 10 set showmatch " Highlight matched parenthesis set ffs=unix " Use UNIX file format set clipboard=unnamedplus " Clipboard integration set wildignore+=*/tmp/*,*.so,*.swp " Files to ignore set shiftwidth=2 " Tab set tabstop=2 " set expandtab " set number " Line numbering set smartindent " Indentation set noshowmode " syntax on " Syntax highlighting runtime colors.vim " Load color scheme filetype indent plugin on " Identify file type " Titlebar without “-VIM” set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:p:h\")})%)%(\ %a%) " change cursor style autocmd VimLeave * set guicursor=a:hor20-blinkon20 "" "" Key bindings "" let mapleader="," " Windows navigation map map map map " Plugins map t :TagbarToggle map u :UndotreeToggle " Misc inoremap jj noremap o o noremap O O "" "" Plugin options "" " Lightline runtime lightline.vim " Neomake call neomake#configure#automake('nwr', 750) let g:neomake_warning_sign = { \ 'text': 'W→', \ 'texthl': 'WarningMsg', \ } let g:neomake_error_sign = { \ 'text': 'E→', \ 'texthl': 'ErrorMsg', \ } let g:neomake_highlight_lines = 1 " Tagbar let g:tagbar_status_func = "TagbarStatusFunc" let g:tagbar_compact = 1 let g:tagbar_iconchars = [">", "∨"] " MiniBufferExplorer let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1 " CtrlP let g:ctrlp_clear_cache_on_exit = 0 let g:ctrlp_follow_symlinks = 1 let g:ctrlp_custom_ignore = {"dir": "\v[\/]\.(git|hg|svn|ve)$"} let g:ctrlp_status_func = {"main": "CtrlPStatusMain", \"prog": "CtrlPStatusProg"} " Pandoc Markdown let g:pandoc#syntax#conceal#use = 0 " use pandoc markdown syntax augroup pandoc_syntax au! BufNewFile,BufFilePre,BufRead *.md set filetype=markdown.pandoc augroup END