if(!exists('g:home'))
|
|
let g:home=$HOME
|
|
let g:config_dir=g:home.'/.config/nvim'
|
|
endif
|
|
|
|
execute 'source '.g:config_dir.'/config/init.vimrc'
|
|
execute 'source '.g:config_dir.'/config/general.vimrc'
|
|
execute 'source '.g:config_dir.'/config/functions.vimrc'
|
|
execute 'source '.g:config_dir.'/config/filetypes.vimrc'
|
|
execute 'source '.g:config_dir.'/config/plugins.vimrc'
|
|
execute 'source '.g:config_dir.'/config/keys.vimrc'
|
|
|
|
" functions
|
|
" {
|
|
fun! StripTrailingWhitespaces()
|
|
let _s=@/
|
|
let l = line(".")
|
|
let c = col(".")
|
|
%s/\s\+$//e
|
|
call cursor(l,c)
|
|
let @/=_s
|
|
endfun
|
|
nmap <silent> <F3> :call StripTrailingWhitespaces()<CR>
|
|
|
|
augroup CursorLine
|
|
au!
|
|
au VimEnter,WinEnter,BufWinEnter * setlocal cursorline
|
|
au WinLeave * setlocal nocursorline
|
|
augroup END
|
|
|
|
augroup AutoComment
|
|
autocmd!
|
|
autocmd FileType c,cpp,java,scala let b:comment_leader = '// '
|
|
autocmd FileType sh,ruby,python,conf,fstab let b:comment_leader = '# '
|
|
autocmd FileType tex let b:comment_leader = '% '
|
|
autocmd FileType mail let b:comment_leader = '> '
|
|
autocmd FileType vim let b:comment_leader = '" '
|
|
augroup END
|
|
|
|
nnoremap <silent> <leader>cc :<C-B>silent <C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:nohlsearch<CR>
|
|
nnoremap <silent> <leader>cu :<C-B>silent <C-E>s/^\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:nohlsearch<CR>
|
|
" }
|