-
-
Save JeffreyWay/68b2cdf541e2e576aa0a to your computer and use it in GitHub Desktop.
Vim Mastery - up to episode 22. https://laracasts.com/series/vim-mastery
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 "We want the latest Vim settings/options. | |
so ~/.vim/plugins.vim | |
syntax enable | |
set backspace=indent,eol,start "Make backspace behave like every other editor. | |
let mapleader = ',' "The default is \, but a comma is much better. | |
set nonumber "Let's activate line numbers. | |
set noerrorbells visualbell t_vb= "No damn bells! | |
set autowriteall "Automatically write the file when switching buffers. | |
set complete=.,w,b,u "Set our desired autocompletion matching. | |
set tabstop=8 | |
set expandtab | |
set softtabstop=4 | |
set shiftwidth=4 | |
"-------------Visuals--------------" | |
colorscheme atom-dark | |
set t_CO=256 "Use 256 colors. This is useful for Terminal Vim. | |
set guifont=Fira\ Code:h17 "Set the default font family and size. | |
set macligatures "We want pretty symbols, when available. | |
set guioptions-=e "We don't want Gui tabs. | |
set linespace=16 "Macvim-specific line-height. | |
set lines=999 | |
set guioptions-=l "Disable Gui scrollbars. | |
set guioptions-=L | |
set guioptions-=r | |
set guioptions-=R | |
"We'll fake a custom left padding for each window. | |
hi LineNr guibg=bg | |
set foldcolumn=2 | |
hi foldcolumn guibg=bg | |
"Get rid of ugly split borders. | |
hi vertsplit guifg=bg guibg=bg | |
"-------------Search--------------" | |
set hlsearch "Highlight all matched terms. | |
set incsearch "Incrementally highlight, as we type. | |
"-------------Split Management--------------" | |
set splitbelow "Make splits default to below... | |
set splitright "And to the right. This feels more natural. | |
"We'll set simpler mappings to switch between splits. | |
nmap <C-J> <C-W><C-J> | |
nmap <C-K> <C-W><C-K> | |
nmap <C-H> <C-W><C-H> | |
nmap <C-L> <C-W><C-L> | |
"-------------Mappings--------------" | |
"Make it easy to edit the Vimrc file. | |
nmap <Leader>ev :tabedit $MYVIMRC<cr> | |
nmap <Leader>es :e ~/.vim/snippets/ | |
"Add simple highlight removal. | |
nmap <Leader><space> :nohlsearch<cr> | |
"Quickly browse to any tag/symbol in the project. | |
"Tip: run ctags -R to regenerated the index. | |
nmap <Leader>f :tag<space> | |
"Sort PHP use statements | |
"http://stackoverflow.com/questions/11531073/how-do-you-sort-a-range-of-lines-by-length | |
vmap <Leader>su ! awk '{ print length(), $0 \| "sort -n \| cut -d\\ -f2-" }'<cr> | |
"-------------Plugins--------------" | |
"/ | |
"/ CtrlP | |
"/ | |
let g:ctrlp_custom_ignore = 'node_modules\DS_Store\|git' | |
let g:ctrlp_match_window = 'top,order:ttb,min:1,max:30,results:30' | |
nmap <D-p> :CtrlP<cr> | |
nmap <D-r> :CtrlPBufTag<cr> | |
nmap <D-e> :CtrlPMRUFiles<cr> | |
nmap <D-t> <Plug>PeepOpen | |
"/ | |
"/ NERDTree | |
"/ | |
let NERDTreeHijackNetrw = 0 | |
nmap <D-1> :NERDTreeToggle<cr> | |
"/ | |
"/ Greplace.vim | |
"/ | |
set grepprg=ag "We want to use Ag for the search. | |
let g:grep_cmd_opts = '--line-numbers --noheading' | |
"/ | |
"/ vim-php-cs-fixer.vim | |
"/ | |
let g:php_cs_fixer_level = "psr2" | |
nnoremap <silent><leader>pf :call PhpCsFixerFixFile()<CR> | |
"/ | |
"/ pdv | |
"/ | |
let g:pdv_template_dir = $HOME ."/.vim/bundle/pdv/templates_snip" | |
nnoremap <leader>d :call pdv#DocumentWithSnip()<CR> | |
"/ | |
"/ Ultisnips | |
"/ | |
let g:UltiSnipsExpandTrigger="<tab>" | |
let g:UltiSnipsJumpForwardTrigger="<tab>" | |
let g:UltiSnipsJumpBackwardTrigger="<s-tab>" | |
"-------------Laravel-Specific--------------" | |
nmap <Leader>lr :e app/Http/routes.php<cr> | |
nmap <Leader>lm :!php artisan make: | |
nmap <Leader><Leader>c :e app/Http/Controllers/<cr> | |
nmap <Leader><Leader>m :CtrlP<cr>app/ | |
nmap <Leader><Leader>v :e resources/views/<cr> | |
"-------------Auto-Commands--------------" | |
"Automatically source the Vimrc file on save. | |
augroup autosourcing | |
autocmd! | |
autocmd BufWritePost .vimrc source % | |
augroup END | |
"-------------Functions--------------" | |
function! IPhpInsertUse() | |
call PhpInsertUse() | |
call feedkeys('a', 'n') | |
endfunction | |
autocmd FileType php inoremap <Leader>n <Esc>:call IPhpInsertUse()<CR> | |
autocmd FileType php noremap <Leader>n :call PhpInsertUse()<CR> | |
function! IPhpExpandClass() | |
call PhpExpandClass() | |
call feedkeys('a', 'n') | |
endfunction | |
autocmd FileType php inoremap <Leader>nf <Esc>:call IPhpExpandClass()<CR> | |
autocmd FileType php noremap <Leader>nf :call PhpExpandClass()<CR> | |
"-------------Tips and Reminders--------------" | |
" - Press 'zz' to instantly center the line where the cursor is located. |
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
filetype off " required | |
" set the runtime path to include Vundle and initialize | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
Plugin 'VundleVim/Vundle.vim' | |
Plugin 'tpope/vim-vinegar' | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'ctrlpvim/ctrlp.vim' | |
Plugin 'rking/ag.vim' | |
Plugin 'skwp/greplace.vim' | |
Plugin 'file:///Users/Screencasts/.vim/bundle/vim-peepopen' | |
Plugin 'MarcWeber/vim-addon-mw-utils' | |
Plugin 'tomtom/tlib_vim' | |
Plugin 'garbas/vim-snipmate' | |
Plugin 'tpope/vim-surround' | |
Plugin 'StanAngeloff/php.vim' | |
Plugin 'arnaud-lb/vim-php-namespace' | |
Plugin 'ervandew/supertab' | |
Plugin 'stephpy/vim-php-cs-fixer' | |
Plugin 'tobyS/vmustache' | |
Plugin 'tobyS/pdv' | |
Plugin 'SirVer/ultisnips' | |
" All of your Plugins must be added before the following line | |
call vundle#end() " required | |
filetype plugin indent on " required |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Which plugin do you use for blade syntax highlighting?