Skip to content

Instantly share code, notes, and snippets.

@psxvoid
Forked from telamon/init.vim
Created January 26, 2019 06:46
Show Gist options
  • Select an option

  • Save psxvoid/3bc1e63dac694b188202239061315826 to your computer and use it in GitHub Desktop.

Select an option

Save psxvoid/3bc1e63dac694b188202239061315826 to your computer and use it in GitHub Desktop.

Revisions

  1. Tony Ivanov created this gist Aug 16, 2017.
    171 changes: 171 additions & 0 deletions init.vim
    Original file line number Diff line number Diff line change
    @@ -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