Skip to content

Instantly share code, notes, and snippets.

@ak4bento
Created December 28, 2020 01:46
Show Gist options
  • Save ak4bento/ed84b0e082e14eacefd3d510e229b300 to your computer and use it in GitHub Desktop.
Save ak4bento/ed84b0e082e14eacefd3d510e229b300 to your computer and use it in GitHub Desktop.
Vimrc Configuration Vundle
"""""""""""""""""""""""""""""""""""""""""
" Akil Sagitarius Vimrc configuration "
"""""""""""""""""""""""""""""""""""""""""
set nocompatible
syntax on
set nowrap
set encoding=utf8
set mouse=a
" START Vundle Configuration
" Disable file type for vundle
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'mg979/vim-visual-multi'
Plugin 'phpactor/phpactor', {'for': 'php', 'branch': 'master', 'do': 'composer install --no-dev -o'}
Plugin 'shawncplus/phpcomplete.vim'
Plugin 'junegunn/fzf.vim'
Plugin 'junegunn/fzf'
" YouCompleteMe Configuration
Plugin 'Valloric/YouCompleteMe', {'branch': 'master'}
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'vim-scripts/taglist.vim'
Plugin 'vim-syntastic/syntastic'
" Laravel vim
Plugin 'tpope/vim-dispatch' "| Optional
Plugin 'tpope/vim-projectionist' "|
Plugin 'noahfrederick/vim-composer' "|
Plugin 'noahfrederick/vim-laravel'
Plugin 'algotech/ultisnips-php'
Plugin 'sunzhongwei/vim-laravel-snippets'
"Plugin 'm2mdas/phpcomplete-extended-laravel'
" 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 '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'
"Plugin 'jaxbot/github-issues.vim'
" PHP Support
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 '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'
" theme / interface
Plugin 'ansiesc.vim'
Plugin 'ryanoasis/vim-devicons'
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 'connorholyday/vim-snazzy'
call vundle#end()
filetype plugin indent on
" end vundle configuration
"""""""""""""""""""""""""""""""
" configuration section "
"""""""""""""""""""""""""""""""
" show linenumbers
set number
set ruler
" set proper tabs
set tabstop=4
set shiftwidth=4
set smarttab
set expandtab
" always display the status line
set laststatus=2
" enable elite mode, no arrrrowws!!!!
let g:elite_mode=1
" access colors present in 256 colorspace
let base16colorspace=256
" colorscheme spacemacs-theme
colorscheme spacegray
autocmd filetype php setlocal omnifunc=phpcomplete_extended#completephp
let g:supertabdefaultcompletiontype = "<c-x><c-o>"
" 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'
"""""""""""""""""""""""""""""""
" configuration Mapping "
"""""""""""""""""""""""""""""""
map <C-t> :NERDTreeToggle<CR>
map <C-m> :TagbarToggle<CR>
" Omnicomplete Better Nav
inoremap <expr> <c-j> ("\<C-n>")
inoremap <expr> <c-k> ("\<C-p>")
nnoremap <C-j> :tabprevious<CR>
nnoremap <C-k> :tabnext<CR>
" Disable arrow movement, resize splits instead.
"if get(g:, 'elite_mode')
" nmap <Up> :resize +2<CR>
" nmap <Down> :resize -2<CR>
" nmap <Right> :vertical resize +2<CR>
" nmap <Left> :vertical resize -2<CR>
"endif
" shift+arrow selection
nmap <S-Up> v<Up>
nmap <S-Down> v<Down>
nmap <S-Left> v<Left>
nmap <S-Right> v<Right>
vmap <S-Up> <Up>
vmap <S-Down> <Down>
vmap <S-Left> <Left>
vmap <S-Right> <Right>
imap <S-Up> <Esc>v<Up>
imap <S-Down> <Esc>v<Down>
imap <S-Left> <Esc>v<Left>
imap <S-Right> <Esc>v<Right>
" Replace global character selection
vnoremap ; :call Get_visual_selection()<cr>
function! Get_visual_selection()
" Why is this not a built-in Vim script function?!
let [lnum1, col1] = getpos("'<")[1:2]
let [lnum2, col2] = getpos("'>")[1:2]
let lines = getline(lnum1, lnum2)
let lines[-1] = lines[-1][: col2 - (&selection == 'inclusive' ? 1 : 2)]
let lines[0] = lines[0][col1 - 1:]
let selection = join(lines,'\n')
let change = input('Change the selection with: ')
execute ":%s/".selection."/".change."/g"
endfunction
" Mapping Selection for next occourance
let g:multi_cursor_use_default_mapping=0
" Default mapping
let g:multi_cursor_start_word_key = '<C-n>'
let g:multi_cursor_select_all_word_key = '<A-n>'
let g:multi_cursor_start_key = 'g<C-n>'
let g:multi_cursor_select_all_key = 'g<A-n>'
let g:multi_cursor_next_key = '<C-n>'
let g:multi_cursor_prev_key = '<C-z>'
let g:multi_cursor_skip_key = '<C-x>'
let g:multi_cursor_quit_key = '<Esc>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment