Last active
July 27, 2018 18:32
-
-
Save kkirsche/c4cc7a7bfe0724eadeeb2fa891616d7a to your computer and use it in GitHub Desktop.
Vim Configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set nocompatible | |
syntax on | |
set nowrap | |
set encoding=utf8 | |
set number | |
set tabstop=2 | |
set expandtab | |
set autochdir | |
" Python ident | |
au FileType python set ts=8 sts=4 et sw=4 smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class | |
" Vundle Configuration | |
filetype off " required | |
" set the runtime path to include Vundle and initialize | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
" alternatively, pass a path where Vundle should install plugins | |
"call vundle#begin('~/some/path/here') | |
" let Vundle manage Vundle, required | |
Plugin 'VundleVim/Vundle.vim' | |
" Utility | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'scrooloose/nerdcommenter' | |
Plugin 'majutsushi/tagbar' | |
Plugin 'ervandew/supertab' | |
Plugin 'BufOnly.vim' | |
Plugin 'wesQ3/vim-windowswap' | |
Plugin 'SirVer/ultisnips' | |
Plugin 'junegunn/fzf.vim' | |
Plugin 'junegunn/fzf' | |
Plugin 'godlygeek/tabular' | |
Plugin 'ctrlpvim/ctrlp.vim' | |
Plugin 'benmills/vimux' | |
Plugin 'jeetsukumaran/vim-buffergator' | |
Plugin 'gilsondev/searchtasks.vim' | |
Plugin 'Shougo/neocomplete.vim' | |
Plugin 'tpope/vim-dispatch' | |
" Generic Programming Support | |
Plugin 'honza/vim-snippets' | |
Plugin 'Townk/vim-autoclose' | |
Plugin 'tomtom/tcomment_vim' | |
Plugin 'tobyS/vmustache' | |
Plugin 'janko-m/vim-test' | |
Plugin 'maksimr/vim-jsbeautify' | |
Plugin 'vim-syntastic/syntastic' | |
Plugin 'neomake/neomake' | |
" Markdown / Writting | |
Plugin 'reedes/vim-pencil' | |
Plugin 'tpope/vim-markdown' | |
Plugin 'jtratner/vim-flavored-markdown' | |
Plugin 'LanguageTool' | |
" Git Support | |
Plugin 'kablamo/vim-git-log' | |
Plugin 'gregsexton/gitv' | |
Plugin 'tpope/vim-fugitive' | |
" PHP Support | |
Plugin 'phpvim/phpcd.vim' | |
Plugin 'tobyS/pdv' | |
" Erlang Support | |
Plugin 'vim-erlang/vim-erlang-tags' | |
Plugin 'vim-erlang/vim-erlang-runtime' | |
Plugin 'vim-erlang/vim-erlang-omnicomplete' | |
Plugin 'vim-erlang/vim-erlang-compiler' | |
" Elixir Support | |
Plugin 'elixir-lang/vim-elixir' | |
Plugin 'avdgaag/vim-phoenix' | |
Plugin 'mmorearty/elixir-ctags' | |
Plugin 'mattreduce/vim-mix' | |
Plugin 'BjRo/vim-extest' | |
Plugin 'frost/vim-eh-docs' | |
Plugin 'slashmili/alchemist.vim' | |
Plugin 'tpope/vim-endwise' | |
Plugin 'jadercorrea/elixir_generator.vim' | |
" Elm Support | |
Plugin 'lambdatoast/elm.vim' | |
" Golang Support | |
Plugin 'fatih/vim-go' | |
" Theme / Interface | |
Plugin 'AnsiEsc.vim' | |
Plugin 'vim-airline/vim-airline' | |
Plugin 'vim-airline/vim-airline-themes' | |
Plugin 'sjl/badwolf' | |
Plugin 'tomasr/molokai' | |
Plugin 'morhetz/gruvbox' | |
Plugin 'zenorocha/dracula-theme', {'rtp': 'vim/'} | |
Plugin 'junegunn/limelight.vim' | |
Plugin 'mkarmona/colorsbox' | |
Plugin 'romainl/Apprentice' | |
Plugin 'Lokaltog/vim-distinguished' | |
Plugin 'chriskempson/base16-vim' | |
Plugin 'w0ng/vim-hybrid' | |
Plugin 'AlessandroYorba/Sierra' | |
Plugin 'daylerees/colour-schemes' | |
Plugin 'effkay/argonaut.vim' | |
Plugin 'ajh17/Spacegray.vim' | |
Plugin 'atelierbram/Base2Tone-vim' | |
Plugin 'colepeters/spacemacs-theme.vim' | |
Plugin 'ryanoasis/vim-devicons' | |
" OSX stupid backspace fix | |
set backspace=indent,eol,start | |
" All of your Plugins must be added before the following line | |
call vundle#end() " required | |
filetype plugin indent on " required | |
" To ignore plugin indent changes, instead use: | |
"filetype plugin on | |
" | |
" Brief help | |
" :PluginList - lists configured plugins | |
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate | |
" :PluginSearch foo - searches for foo; append `!` to refresh local cache | |
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal | |
" | |
" see :h vundle for more details or wiki for FAQ | |
" Put your non-Plugin stuff after this line | |
set ruler | |
set laststatus=2 | |
set t_Co=256 | |
" set background=dark | |
if (has("termguicolors")) | |
set termguicolors | |
endif | |
let base16colorspace=256 " Access colors present in 256 colorspace | |
colorscheme monokai_pro | |
let g:spacegray_underline_search = 1 | |
let g:spacegray_italicize_comments = 1 | |
" Vim-Airline Configuration | |
let g:airline#extensions#tabline#enabled = 1 | |
let g:airline_powerline_fonts = 1 | |
let g:airline_theme='base16_monokai' | |
" Syntastic Configuration | |
set statusline+=%#warningmsg# | |
set statusline+=%{SyntasticStatuslineFlag()} | |
set statusline+=%* | |
let g:syntastic_always_populate_loc_list = 1 | |
let g:syntastic_auto_loc_list = 1 | |
let g:syntastic_check_on_open = 1 | |
" let g:syntastic_check_on_wq = 0 | |
" let g:syntastic_enable_elixir_checker = 1 | |
" let g:syntastic_elixir_checkers = ["elixir"] | |
" Neomake settings | |
autocmd! BufWritePost * Neomake | |
let g:neomake_elixir_enabled_makers = ['mix', 'credo', 'dogma'] | |
" Vim-PDV Configuration | |
let g:pdv_template_dir = $HOME ."/.vim/bundle/pdv/templates_snip" | |
" Markdown Syntax Support | |
augroup markdown | |
au! | |
au BufNewFile,BufRead *.md,*.markdown setlocal filetype=ghmarkdown | |
augroup END | |
" Vim-Alchemist Configuration | |
let g:alchemist#elixir_erlang_src = "/Users/amacgregor/Projects/Github/alchemist-source" | |
let g:alchemist_tag_disable = 1 | |
" Vim-Supertab Configuration | |
let g:SuperTabDefaultCompletionType = "<C-X><C-O>" | |
" Settings for Writting | |
let g:pencil#wrapModeDefault = 'soft' " default is 'hard' | |
let g:languagetool_jar = '/opt/languagetool/languagetool-commandline.jar' | |
" Vim-pencil Configuration | |
augroup pencil | |
autocmd! | |
autocmd FileType markdown,mkd call pencil#init() | |
autocmd FileType text call pencil#init() | |
augroup END | |
" Vim-UtilSnips Configuration | |
" Trigger configuration. Do not use <tab> if you use https://github.com/Valloric/YouCompleteMe. | |
let g:UltiSnipsExpandTrigger="<tab>" | |
let g:UltiSnipsJumpForwardTrigger="<c-b>" | |
let g:UltiSnipsJumpBackwardTrigger="<c-z>" | |
let g:UltiSnipsEditSplit="vertical" " If you want :UltiSnipsEdit to split your window. | |
" Vim-Test Configuration | |
let test#strategy = "vimux" | |
" Neocomplete Settings | |
let g:acp_enableAtStartup = 0 | |
let g:neocomplete#enable_at_startup = 1 | |
let g:neocomplete#enable_smart_case = 1 | |
let g:neocomplete#sources#syntax#min_keyword_length = 3 | |
" Define dictionary. | |
let g:neocomplete#sources#dictionary#dictionaries = { | |
\ 'default' : '', | |
\ 'vimshell' : $HOME.'/.vimshell_hist', | |
\ 'scheme' : $HOME.'/.gosh_completions' | |
\ } | |
" Define keyword. | |
if !exists('g:neocomplete#keyword_patterns') | |
let g:neocomplete#keyword_patterns = {} | |
endif | |
let g:neocomplete#keyword_patterns['default'] = '\h\w*' | |
function! s:my_cr_function() | |
return (pumvisible() ? "\<C-y>" : "" ) . "\<CR>" | |
" For no inserting <CR> key. | |
"return pumvisible() ? "\<C-y>" : "\<CR>" | |
endfunction | |
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" | |
inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>" | |
inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>" | |
" Enable omni completion. | |
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS | |
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags | |
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS | |
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete | |
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags | |
" Enable heavy omni completion. | |
if !exists('g:neocomplete#sources#omni#input_patterns') | |
let g:neocomplete#sources#omni#input_patterns = {} | |
endif | |
"let g:neocomplete#sources#omni#input_patterns.php = '[^. \t]->\h\w*\|\h\w*::' | |
"let g:neocomplete#sources#omni#input_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)' | |
"let g:neocomplete#sources#omni#input_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::' | |
" For perlomni.vim setting. | |
" https://github.com/c9s/perlomni.vim | |
let g:neocomplete#sources#omni#input_patterns.perl = '\h\w*->\h\w*\|\h\w*::' | |
" Fzf Configuration | |
" This is the default extra key bindings | |
let g:fzf_action = { | |
\ 'ctrl-t': 'tab split', | |
\ 'ctrl-x': 'split', | |
\ 'ctrl-v': 'vsplit' } | |
" Default fzf layout | |
" - down / up / left / right | |
let g:fzf_layout = { 'down': '~40%' } | |
" In Neovim, you can set up fzf window using a Vim command | |
let g:fzf_layout = { 'window': 'enew' } | |
let g:fzf_layout = { 'window': '-tabnew' } | |
" Customize fzf colors to match your color scheme | |
let g:fzf_colors = | |
\ { 'fg': ['fg', 'Normal'], | |
\ 'bg': ['bg', 'Normal'], | |
\ 'hl': ['fg', 'Comment'], | |
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], | |
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], | |
\ 'hl+': ['fg', 'Statement'], | |
\ 'info': ['fg', 'PreProc'], | |
\ 'prompt': ['fg', 'Conditional'], | |
\ 'pointer': ['fg', 'Exception'], | |
\ 'marker': ['fg', 'Keyword'], | |
\ 'spinner': ['fg', 'Label'], | |
\ 'header': ['fg', 'Comment'] } | |
" Enable per-command history. | |
" CTRL-N and CTRL-P will be automatically bound to next-history and | |
" previous-history instead of down and up. If you don't like the change, | |
" explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS. | |
let g:fzf_history_dir = '~/.local/share/fzf-history' | |
if has("unix") | |
let s:uname = system("uname") | |
let g:python_host_prog='/usr/bin/python' | |
if s:uname == "Darwin\n" | |
let g:python_host_prog='/usr/local/bin/python3' | |
endif | |
endif | |
""""""""""""""""""""""""""""""""""""" | |
" Mappings configurationn | |
""""""""""""""""""""""""""""""""""""" | |
map <C-n> :NERDTreeToggle<CR> | |
map <C-m> :TagbarToggle<CR> | |
filetype plugin on |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim | |
brew tap caskroom/fonts | |
brew cask install font-hack-nerd-font | |
brew install gotags | |
brew install ctags | |
mkdir -p ~/.vim/colors | |
git clone https://github.com/Erichain/vim-monokai-pro.git | |
cp -r vim-monokai-pro/colors/ ~/.vim/colors/ | |
curl -o ~/.vim/colors/monokai.vim https://raw.githubusercontent.com/sickill/vim-monokai/master/colors/monokai.vim | |
vim +PluginInstall +qall | |
vim +GoInstallBinaries or vim then :GoInstallBinaries |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment