167 lines
4.1 KiB
VimL
167 lines
4.1 KiB
VimL
""
|
||
"" 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'
|
||
Plug 'dag/vim-fish'
|
||
|
||
" 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 fsync
|
||
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 <C-k> <C-w><Up>
|
||
map <C-j> <C-w><Down>
|
||
map <C-l> <C-w><Right>
|
||
map <C-h> <C-w><Left>
|
||
|
||
" Plugins
|
||
map <Leader>t :TagbarToggle<CR>
|
||
map <Leader>u :UndotreeToggle<CR>
|
||
|
||
" Misc
|
||
inoremap jj <ESC>
|
||
noremap o o<ESC>
|
||
noremap O O<ESC>
|
||
|
||
""
|
||
"" 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 = 1
|
||
|
||
" use pandoc markdown syntax
|
||
augroup pandoc_syntax
|
||
au! BufNewFile,BufFilePre,BufRead *.md set filetype=markdown.pandoc
|
||
augroup END
|