Skip to content

Instantly share code, notes, and snippets.

@ducklin5
Created September 30, 2018 22:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ducklin5/97af9c80389a3e16fcdb6d344e25ffdb to your computer and use it in GitHub Desktop.
Save ducklin5/97af9c80389a3e16fcdb6d344e25ffdb to your computer and use it in GitHub Desktop.
" Evironmental variables ------------------------------------------------------
" let $PYTHONPATH='/usr/lib/python3.6/site-packages'
set rtp+=/usr/lib/python3.6/site-packages/powerline/bindings/vim/
" Plugins ---------------------------------------------------------------------
set nocompatible " be iMproved, required
filetype off " required
"" Vundle Plugins
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'airblade/vim-gitgutter'
Plugin 'tpope/vim-fugitive'
Plugin 'flazz/vim-colorschemes'
Plugin 'hzchirs/vim-material'
Plugin 'jelera/vim-javascript-syntax'
Plugin 'Raimondi/delimitMate'
Plugin 'scrooloose/syntastic'
Plugin 'scrooloose/nerdtree'
Plugin 'Xuyuanp/nerdtree-git-plugin'
Plugin 'calviken/vim-gdscript3'
Plugin 'nelsyeung/twig.vim'
Plugin 'dracula/vim'
Plugin 'klen/python-mode'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'majutsushi/tagbar'
Plugin 'ludovicchabant/vim-gutentags'
Plugin 'marijnh/tern_for_vim'
Plugin 'qualiabyte/vim-colorstepper'
Plugin 'Valloric/YouCompleteMe'
Plugin 'Shougo/echodoc.vim'
"Plugin 'davidhalter/jedi-vim'
call vundle#end() " required
" Normal vim settings ---------------------------------------------------------
syntax on
set wrap
set laststatus=2
set t_Co=256
syntax enable
set cursorline
set cursorcolumn
set number
set splitbelow
" set colorcolumn=79
set clipboard=unnamed
"" file detect
autocmd BufNewFile,BufRead *.gd setf gdscript3
set cmdheight=2
filetype plugin indent on
let mapleader = ","
let maplocalleader = "\\"
set title
" }}}
" Trailing whitespace {{{
" Only shown when not in insert mode so I don't go insane.
augroup trailing
au!
au InsertEnter * :set listchars-=trail:▫
au InsertLeave * :set listchars+=trail:▫
augroup END
set smartindent
set shiftwidth=4 tabstop=4
set softtabstop=0 noexpandtab
augroup python_files
autocmd!
autocmd FileType python setlocal expandtab
autocmd FileType python set tabstop=4
autocmd FileType python set shiftwidth=4
augroup END
set list
set listchars=tab:»·,eol:↪,extends:❯,precedes:❮
" keep the list chars 'tranlucent' while editing a line
au VimEnter * call matchadd('SpecialKey', '^\s\+', -1) " tab
au VimEnter * call matchadd('SpecialKey', '\s\+$', -1) " whitespace
au VimEnter * call matchadd('SpecialKey', '\n', -1) " eol
" Plugin Options --------------------------------------------------------------
"" Colorscheme
color onedark
hi Normal ctermbg=none
"" YouCompleteMe
let g:ycm_path_to_python_interpreter='python3'
" Gets rid of the preview buffer asap
let g:ycm_autoclose_preview_window_after_insertion=1
let g:ycm_autoclose_preview_window_after_completion=1
let g:ycm_key_invoke_completion = '<C-Space>'
" jedi-vim {
let g:jedi#auto_vim_configuration = 0
let g:jedi#popup_on_dot = 0
let g:jedi#popup_select_first = 0
let g:jedi#completions_enabled = 0
let g:jedi#completions_command = ""
let g:jedi#show_call_signatures = "1"
let g:jedi#goto_assignments_command = "<leader>pa"
let g:jedi#goto_definitions_command = "<leader>pd"
let g:jedi#documentation_command = "<leader>pk"
let g:jedi#usages_command = "<leader>pu"
let g:jedi#rename_command = "<leader>pr"
" }
"" Pymode
" let g:pymode_options_max_line_length = 79
let g:pymode_indent = 0
let g:pymode_rope_completion = 0
"" Airline
let g:airline_powerline_fonts = 1
let g:airline_theme='onedark'
"" nerdTree
let NERDTreeShowHidden=1
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
nmap <C-T> :NERDTree %:p:h <bar> R <bar> wincmd p <bar> NERDTreeFind %:p <CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
let g:NERDTreeIndicatorMapCustom = {
\ "Modified" : "✹",
\ "Staged" : "✚",
\ "Untracked" : "✭",
\ "Renamed" : "➜",
\ "Unmerged" : "═",
\ "Deleted" : "✖",
\ "Dirty" : "✗",
\ "Clean" : "✔︎",
\ 'Ignored' : '☒',
\ "Unknown" : "?"
\ }
" Shortcut map ----------------------------------------------------------------
"" Bind Ctrl-Space Autocomplete
" inoremap <C-Space> <C-n>
"" Terminal sends Nul(C-@) instead of Ctrl-Space to vim
imap <C-@> <C-Space>
"" ColorStepper Keys
nmap <F6>: <Plug>ColorstepPrev \| hi Normal ctermbg=none<CR>
nmap <F7>: <Plug>ColorstepNext \| hi Normal ctermbg=none<CR>
nmap <S-F7> :<Plug>ColorstepReload \| hi Normal ctermbg=none<CR>
" easier moving between tabs
map <Leader>n <esc>:tabprevious<CR>
map <Leader>m <esc>:tabnext<CR>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment