|
|
@@ -0,0 +1,171 @@ |
|
|
" Tony's Settings |
|
|
" Usage: |
|
|
" Download and install nvim, then install 'dein' the vim-package manager. |
|
|
" During installation of dein it will output a sample configuration, take the |
|
|
" two lines that `set runtimepath=PATH` and `dein#begin(PATH)` and replace the |
|
|
" ones in this file online 14 and 17. Restart nvim and Happy Vimming! |
|
|
|
|
|
"dein Scripts----------------------------- |
|
|
if &compatible |
|
|
set nocompatible " Be iMproved |
|
|
endif |
|
|
|
|
|
" Required: |
|
|
set runtimepath+=/home/telamon/.config/nvim/repos/github.com/Shougo/dein.vim |
|
|
|
|
|
" Required: |
|
|
call dein#begin('/home/telamon/.config/nvim/') |
|
|
|
|
|
" Let dein manage dein |
|
|
" Required: |
|
|
call dein#add('Shougo/dein.vim') |
|
|
|
|
|
" Add or remove your plugins here: |
|
|
call dein#add('Shougo/neosnippet.vim') |
|
|
call dein#add('Shougo/neosnippet-snippets') |
|
|
|
|
|
" Functional utils |
|
|
call dein#add('tpope/vim-fugitive') |
|
|
"call dein#add('wbthomason/buildit.nvim') "as a replacement for neomake? |
|
|
|
|
|
" Look'n'feel |
|
|
call dein#add('Shougo/vimshell') |
|
|
call dein#add('scrooloose/nerdtree') |
|
|
call dein#add('airblade/vim-gitgutter') |
|
|
call dein#add('ctrlpvim/ctrlp.vim') |
|
|
call dein#add('itchyny/lightline.vim') |
|
|
call dein#add('mhinz/vim-startify') |
|
|
call dein#add('morhetz/gruvbox') |
|
|
call dein#add('joshdick/onedark.vim') |
|
|
call dein#add('equalsraf/neovim-gui-shim') |
|
|
call dein#add('majutsushi/tagbar') |
|
|
call dein#add('arakashic/chromatica.nvim') |
|
|
call dein#add('ap/vim-buftabline') |
|
|
|
|
|
" Lang support |
|
|
call dein#add('kchmck/vim-coffee-script') |
|
|
call dein#add('fatih/vim-go') " Need to run :GoInstallBinaries after install |
|
|
call dein#add('quabug/vim-gdscript') |
|
|
call dein#add('vim-scripts/openscad.vim') |
|
|
|
|
|
" Deoplete (autocomplete) & other shitty IDE-like behaviour |
|
|
call dein#add('Shougo/deoplete.nvim') |
|
|
call dein#add('Shougo/neoinclude.vim') |
|
|
call dein#add('Shougo/context_filetype.vim') |
|
|
call dein#add('zchee/deoplete-clang') |
|
|
call dein#add('zchee/deoplete-go') |
|
|
call dein#add('fishbullet/deoplete-ruby') |
|
|
call dein#add('chiel92/vim-autoformat') |
|
|
|
|
|
" Required: |
|
|
call dein#end() |
|
|
|
|
|
" Required: |
|
|
filetype plugin indent on |
|
|
syntax enable |
|
|
|
|
|
" If you want to install not installed plugins on startup. |
|
|
if dein#check_install() |
|
|
call dein#install() |
|
|
endif |
|
|
|
|
|
"End dein Scripts------------------------- |
|
|
|
|
|
" Configure deoplete and subcandidates |
|
|
let g:deoplete#enable_at_startup = 1 |
|
|
let g:deoplete#enable_smart_case = 1 |
|
|
let g:deoplete#sources#clang#libclang_path="/usr/lib/llvm-4.0/lib/libclang.so" |
|
|
let g:deoplete#sources#clang#clang_header="/usr/include/clang" |
|
|
" Let auto-complete take effect on TAB key |
|
|
inoremap <silent><expr> <TAB> |
|
|
\ pumvisible() ? "\<C-n>" : |
|
|
\ <SID>check_back_space() ? "\<TAB>" : |
|
|
\ deoplete#mappings#manual_complete() |
|
|
function! s:check_back_space() abort "{{{ |
|
|
let col = col('.') - 1 |
|
|
return !col || getline('.')[col - 1] =~ '\s' |
|
|
endfunction"}}} |
|
|
" Close any automatically opened scratch-buffers |
|
|
" once completion popup the is closed |
|
|
autocmd CompleteDone * pclose |
|
|
|
|
|
|
|
|
" Chromatica setup. |
|
|
let g:chromatica#libclang_path='/usr/lib/llvm-4.0/lib/libclang.so' |
|
|
let g:chromatica#enable_at_startup=1 |
|
|
|
|
|
" Lightline config |
|
|
let g:lightline = { |
|
|
\ 'active': { |
|
|
\ 'left': [ [ 'mode', 'paste' ], |
|
|
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ] |
|
|
\ }, |
|
|
\ 'component_function': { |
|
|
\ 'gitbranch': 'fugitive#head' |
|
|
\ }, |
|
|
\ } |
|
|
" Bind exuberant ctags window to F8 |
|
|
nmap <F8> :TagbarToggle<CR> |
|
|
|
|
|
" Alias ä to Leader |
|
|
" map ä <leader> |
|
|
map <C-n> :NERDTreeToggle<CR> |
|
|
" Alias Ctrl+ö as ESC |
|
|
imap <C-ö> <ESC> |
|
|
map <C-ö> <ESC> |
|
|
" Rebind Command-P to Ctrl-L |
|
|
"map <C-l> <C-p> |
|
|
"imap <C-l> <ESC><C-p> |
|
|
" Ctrl+S save behaviour |
|
|
nmap <C-s> :w<CR> |
|
|
imap <C-s> <ESC>:w<CR> |
|
|
|
|
|
" Kill window plugin |
|
|
"nmap <C-W>c <Plug>Kwbd |
|
|
nmap <C-W>c :bdel<CR> |
|
|
" Configure tabs to be 2-spaces |
|
|
set expandtab |
|
|
set shiftwidth=2 |
|
|
set softtabstop=2 |
|
|
set nowrap |
|
|
|
|
|
" Terminal break to normal remap to ESC |
|
|
tnoremap <Esc> <C-\><C-n> |
|
|
|
|
|
"colorscheme gruvbox |
|
|
set background=dark |
|
|
colorscheme onedark |
|
|
|
|
|
" Lightline displays the mode status so we can disable the standard built in |
|
|
" indicator. |
|
|
set noshowmode |
|
|
let g:lightline.colorscheme = 'one' |
|
|
" Activate line-numbers eveywhere |
|
|
set number |
|
|
set numberwidth=3 |
|
|
|
|
|
" Ctrl-C/V behaviour |
|
|
map <C-c> "+y<CR> |
|
|
nmap <C-v> "+p<CR> |
|
|
imap <C-v> <ESC>"+p<CR>i |
|
|
|
|
|
" Tab navigation like Firefox. |
|
|
"nnoremap <C-S-tab> :tabprevious<CR> |
|
|
"nnoremap <C-tab> :tabnext<CR> |
|
|
nnoremap <C-t> :tabnew<CR> |
|
|
" Using ctrl tab for buffer switching instead |
|
|
nnoremap <C-S-tab> :bprevious<CR> |
|
|
nnoremap <C-tab> :bnext<CR> |
|
|
|
|
|
au BufReadPost *.vue set syntax=html |
|
|
au FileType go set shiftwidth=8 |
|
|
au FileType go set softtabstop=8 |
|
|
|
|
|
" vim-autoformat configuration |
|
|
" enable Autoformat on write |
|
|
au BufWrite * :Autoformat |
|
|
" disable stupid autofromat when in doubt |
|
|
let g:autoformat_autoindent = 0 |
|
|
let g:autoformat_retab = 0 |
|
|
let g:autoformat_remove_trailing_spaces = 0 |
|
|
|