All new custom OS agnostic vim using vim-plug
This commit is contained in:
607
backups/vimrc-debian-pathogen-before-vim-plug
Normal file
607
backups/vimrc-debian-pathogen-before-vim-plug
Normal file
@@ -0,0 +1,607 @@
|
||||
" mReschke Personal Debian based Vimrc
|
||||
" 2015-03-02
|
||||
|
||||
" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by
|
||||
" the call to :runtime you can find below. If you wish to change any of those
|
||||
" settings, you should do it in this file (/etc/vim/vimrc), since debian.vim
|
||||
" will be overwritten everytime an upgrade of the vim packages is performed.
|
||||
" It is recommended to make changes after sourcing debian.vim since it alters
|
||||
" the value of the 'compatible' option.
|
||||
|
||||
" This line should not be removed as it ensures that various options are
|
||||
" properly set to work with the Vim-related packages available in Debian.
|
||||
runtime! debian.vim
|
||||
|
||||
" Uncomment the next line to make Vim more Vi-compatible
|
||||
" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
|
||||
" options, so any other options should be set AFTER setting 'compatible'.
|
||||
"set compatible
|
||||
|
||||
" Source a global configuration file if available
|
||||
if filereadable("/etc/vim/vimrc.local")
|
||||
source /etc/vim/vimrc.local
|
||||
endif
|
||||
|
||||
" Use pathogen to easily modify the runtime path to include all plugins under
|
||||
" the ~/.vim/bundle directory
|
||||
filetype off " force reloading *after* pathogen loaded
|
||||
call pathogen#infect()
|
||||
call pathogen#helptags()
|
||||
filetype plugin indent on " enable detection, plugins and indenting in one step
|
||||
syntax on
|
||||
|
||||
" Change the mapleader from \ to ,
|
||||
let mapleader=","
|
||||
let maplocalleader="\\"
|
||||
|
||||
scriptencoding utf-8
|
||||
set encoding=utf-8
|
||||
|
||||
" Editing behaviour {{{
|
||||
set showmode " always show what mode we're currently editing in
|
||||
set nowrap " don't wrap lines
|
||||
|
||||
set tabstop=4 " a tab is four spaces"set softtabstop=4
|
||||
set softtabstop=4 " when hitting <BS>, pretend like a tab is removed, even if spaces
|
||||
set expandtab " expand tabs by default (overloadable per file type later) use expandtab or noexpandtab (ie tabs to spaces true/false)
|
||||
set shiftwidth=4 " number of spaces to use for autoindenting
|
||||
set shiftround " use multiple of shiftwidth when indenting with '<' and '>'
|
||||
|
||||
set backspace=indent,eol,start " allow backspacing over everything in insert mode
|
||||
set autoindent " always set autoindenting on
|
||||
set copyindent " copy the previous indentation on autoindenting
|
||||
set number " always show line numbers
|
||||
set showmatch " set show matching parenthesis
|
||||
set ignorecase " ignore case when searching
|
||||
set smartcase " ignore case if search pattern is all lowercase,
|
||||
" case-sensitive otherwise
|
||||
set smarttab " insert tabs on the start of a line according to
|
||||
" shiftwidth, not tabstop
|
||||
set scrolloff=4 " keep 4 lines off the edges of the screen when scrolling
|
||||
"set virtualedit=all " allow the cursor to go in to "invalid" places
|
||||
set hlsearch " highlight search terms
|
||||
set incsearch " show search matches as you type
|
||||
set gdefault " search/replace "globally" (on a line) by default
|
||||
set listchars=tab:▸\ ,trail:·,extends:#,nbsp:·
|
||||
|
||||
set nolist " don't show invisible characters by default,
|
||||
" but it is enabled for some file types (see later)
|
||||
set pastetoggle=<F2> " when in insert mode, press <F2> to go to
|
||||
" paste mode, where you can paste mass data
|
||||
" that won't be autoindented
|
||||
"set mouse=a " enable using the mouse if terminal emulator
|
||||
" supports it (xterm does)
|
||||
set fileformats="unix,dos,mac"
|
||||
set formatoptions+=1 " When wrapping paragraphs, don't end lines
|
||||
" with 1-letter words (looks stupid)
|
||||
|
||||
set nrformats= " make <C-a> and <C-x> play well with
|
||||
" zero-padded numbers (i.e. don't consider
|
||||
" them octal or hex)
|
||||
|
||||
set shortmess+=I " hide the launch screen
|
||||
set clipboard=unnamed " normal OS clipboard interaction
|
||||
set autoread " automatically reload files changed outside of Vim
|
||||
"set autowrite " automatically save file on buffer switch
|
||||
|
||||
" Allow saving of files as sudo when I forgot to start vim using sudo.
|
||||
cmap w!! w !sudo tee > /dev/null %
|
||||
|
||||
" Toggle show/hide invisible chars
|
||||
nnoremap <leader>i :set list!<cr>
|
||||
|
||||
" Toggle line numbers
|
||||
nnoremap <leader>m :setlocal number!<cr>
|
||||
|
||||
" Thanks to Steve Losh for this liberating tip
|
||||
" See http://stevelosh.com/blog/2010/09/coming-home-to-vim
|
||||
nnoremap / /\v
|
||||
vnoremap / /\v
|
||||
|
||||
" Speed up scrolling of the viewport slightly
|
||||
nnoremap <C-e> 2<C-e>
|
||||
nnoremap <C-y> 2<C-y>
|
||||
" }}}
|
||||
|
||||
" Folding rules {{{
|
||||
set foldenable " enable folding
|
||||
set foldcolumn=2 " add a fold column
|
||||
set foldmethod=marker " detect triple-{ style fold markers
|
||||
set foldlevelstart=99 " start out with everything unfolded
|
||||
set foldopen=block,hor,insert,jump,mark,percent,quickfix,search,tag,undo
|
||||
" which commands trigger auto-unfold
|
||||
let php_folding=1
|
||||
|
||||
function! MyFoldText()
|
||||
let line = getline(v:foldstart)
|
||||
|
||||
let nucolwidth = &fdc + &number * &numberwidth
|
||||
let windowwidth = winwidth(0) - nucolwidth - 3
|
||||
let foldedlinecount = v:foldend - v:foldstart
|
||||
|
||||
" expand tabs into spaces
|
||||
let onetab = strpart(' ', 0, &tabstop)
|
||||
let line = substitute(line, '\t', onetab, 'g')
|
||||
|
||||
let line = strpart(line, 0, windowwidth - 2 -len(foldedlinecount))
|
||||
let fillcharcount = windowwidth - len(line) - len(foldedlinecount) - 4
|
||||
return line . ' …' . repeat(" ",fillcharcount) . foldedlinecount . ' '
|
||||
endfunction
|
||||
set foldtext=MyFoldText()
|
||||
|
||||
" Mappings to easily toggle fold levels
|
||||
nnoremap z0 :set foldlevel=0<cr>
|
||||
nnoremap z1 :set foldlevel=1<cr>
|
||||
nnoremap z2 :set foldlevel=2<cr>
|
||||
nnoremap z3 :set foldlevel=3<cr>
|
||||
nnoremap z4 :set foldlevel=4<cr>
|
||||
nnoremap z5 :set foldlevel=5<cr>
|
||||
nnoremap <Space> za
|
||||
vnoremap <Space> za
|
||||
" }}}
|
||||
|
||||
" Editor layout {{{
|
||||
set termencoding=utf-8
|
||||
set encoding=utf-8
|
||||
set lazyredraw " don't update the display while executing macros
|
||||
set laststatus=2 " tell VIM to always put a status line in, even
|
||||
" if there is only one window
|
||||
"set cmdheight=2 " use a status bar that is 2 rows high
|
||||
" }}}
|
||||
|
||||
" Vim behaviour {{{
|
||||
set hidden " hide buffers instead of closing them this
|
||||
" means that the current buffer can be put
|
||||
" to background without being written; and
|
||||
" that marks and undo history are preserved
|
||||
set switchbuf=useopen " reveal already opened files from the
|
||||
" quickfix window instead of opening new
|
||||
" buffers
|
||||
set history=1000 " remember more commands and search history
|
||||
set undolevels=1000 " use many muchos levels of undo
|
||||
if v:version >= 730
|
||||
set undofile " keep a persistent backup file
|
||||
set undodir=~/.vim/.undo,~/tmp,/tmp
|
||||
endif
|
||||
set nobackup " do not keep backup files, it's 70's style cluttering
|
||||
set noswapfile " do not write annoying intermediate swap files,
|
||||
" who did ever restore from swap files anyway?
|
||||
set directory=~/.vim/.tmp,~/tmp,/tmp
|
||||
" store swap files in one of these directories
|
||||
" (in case swapfile is ever turned on)
|
||||
set viminfo='20,\"80 " read/write a .viminfo file, don't store more
|
||||
" than 80 lines of registers
|
||||
set wildmenu " make tab completion for files/buffers act like bash
|
||||
set wildmode=list:full " show a list when pressing tab and complete
|
||||
" first full match
|
||||
set wildignore=*.swp,*.bak,*.pyc,*.class
|
||||
set title " change the terminal's title
|
||||
set visualbell " don't beep
|
||||
set noerrorbells " don't beep
|
||||
set showcmd " show (partial) command in the last line of the screen
|
||||
" this also shows visual selection info
|
||||
set nomodeline " disable mode lines (security measure)
|
||||
"set ttyfast " always use a fast terminal
|
||||
"set cursorline " underline the current line, for quick orientation
|
||||
" }}}
|
||||
|
||||
|
||||
" Toggle the quickfix window {{{
|
||||
" From Steve Losh, http://learnvimscriptthehardway.stevelosh.com/chapters/38.html
|
||||
nnoremap <C-q> :call <SID>QuickfixToggle()<cr>
|
||||
|
||||
let g:quickfix_is_open = 0
|
||||
|
||||
function! s:QuickfixToggle()
|
||||
if g:quickfix_is_open
|
||||
cclose
|
||||
let g:quickfix_is_open = 0
|
||||
execute g:quickfix_return_to_window . "wincmd w"
|
||||
else
|
||||
let g:quickfix_return_to_window = winnr()
|
||||
copen
|
||||
let g:quickfix_is_open = 1
|
||||
endif
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
" Toggle the foldcolumn {{{
|
||||
nnoremap <leader>f :call FoldColumnToggle()<cr>
|
||||
|
||||
let g:last_fold_column_width = 4 " Pick a sane default for the foldcolumn
|
||||
|
||||
function! FoldColumnToggle()
|
||||
if &foldcolumn
|
||||
let g:last_fold_column_width = &foldcolumn
|
||||
setlocal foldcolumn=0
|
||||
else
|
||||
let &l:foldcolumn = g:last_fold_column_width
|
||||
endif
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
" Highlighting {{{
|
||||
if &t_Co > 2 || has("gui_running")
|
||||
syntax on " switch syntax highlighting on, when the terminal has colors
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" Shortcut mappings {{{
|
||||
" Since I never use the ; key anyway, this is a real optimization for almost
|
||||
" all Vim commands, as I don't have to press the Shift key to form chords to
|
||||
" enter ex mode.
|
||||
nnoremap ; :
|
||||
nnoremap <leader>; ;
|
||||
|
||||
" Avoid accidental hits of <F1> while aiming for <Esc>
|
||||
noremap! <F1> <Esc>
|
||||
|
||||
nnoremap <leader>Q :q<CR> " Quickly close the current window
|
||||
nnoremap <leader>q :bd<CR> " Quickly close the current buffer
|
||||
|
||||
" Use Q for formatting the current paragraph (or visual selection)
|
||||
vnoremap Q gq
|
||||
nnoremap Q gqap
|
||||
" set breakindent on " keep paragraph indentation when re-wrapping text
|
||||
|
||||
" Sort paragraphs
|
||||
vnoremap <leader>s !sort -f<CR>gv
|
||||
nnoremap <leader>s vip!sort -f<CR><Esc>
|
||||
|
||||
" make p in Visual mode replace the selected text with the yank register
|
||||
vnoremap p <Esc>:let current_reg = @"<CR>gvdi<C-R>=current_reg<CR><Esc>
|
||||
|
||||
" Shortcut to make
|
||||
nnoremap mk :make<CR>
|
||||
|
||||
" Swap implementations of ` and ' jump to markers
|
||||
" By default, ' jumps to the marked line, ` jumps to the marked line and
|
||||
" column, so swap them
|
||||
nnoremap ' `
|
||||
nnoremap ` '
|
||||
|
||||
" Use the damn hjkl keys
|
||||
"noremap <up> <nop>
|
||||
"noremap <down> <nop>
|
||||
"noremap <left> <nop>
|
||||
"noremap <right> <nop>
|
||||
|
||||
" Remap j and k to act as expected when used on long, wrapped, lines
|
||||
nnoremap j gj
|
||||
nnoremap k gk
|
||||
|
||||
" Easy window navigation
|
||||
noremap <C-h> <C-w>h
|
||||
noremap <C-j> <C-w>j
|
||||
noremap <C-k> <C-w>k
|
||||
noremap <C-l> <C-w>l
|
||||
nnoremap <leader>w <C-w>v<C-w>l
|
||||
|
||||
"Resize vsplit
|
||||
nmap <C-v> :vertical resize +5<cr>
|
||||
nmap 25 :vertical resize 40<cr>
|
||||
|
||||
"Load the current buffer in Chrome
|
||||
"nmap <leader>o :!chromium<cr>
|
||||
|
||||
" Complete whole filenames/lines with a quicker shortcut key in insert mode
|
||||
inoremap <C-f> <C-x><C-f>
|
||||
inoremap <C-l> <C-x><C-l>
|
||||
|
||||
" Use ,d (or ,dd or ,dj or 20,dd) to delete a line without adding it to the
|
||||
" yanked stack (also, in visual mode)
|
||||
nnoremap <silent> <leader>d "_d
|
||||
vnoremap <silent> <leader>d "_d
|
||||
|
||||
" Quick yanking to the end of the line
|
||||
nnoremap Y y$
|
||||
|
||||
" YankRing stuff
|
||||
let g:yankring_history_dir = '$HOME/.vim/.tmp'
|
||||
nnoremap <leader>r :YRShow<CR>
|
||||
|
||||
" Edit the vimrc file
|
||||
nnoremap <silent> <leader>ev :e /etc/vim/vimrc<CR>
|
||||
nnoremap <silent> <leader>sv :so /etc/vim/vimrc<CR>
|
||||
|
||||
" Clears the search register
|
||||
nnoremap <silent> <leader>/ :nohlsearch<CR>
|
||||
|
||||
" Pull word under cursor into LHS of a substitute (for quick search and
|
||||
" replace)
|
||||
nnoremap <leader>z :%s#\<<C-r>=expand("<cword>")<CR>\>#
|
||||
|
||||
" Keep search matches in the middle of the window and pulse the line when moving
|
||||
" to them.
|
||||
nnoremap n n:call PulseCursorLine()<cr>
|
||||
nnoremap N N:call PulseCursorLine()<cr>
|
||||
|
||||
" Quickly get out of insert mode without your fingers having to leave the
|
||||
" home row (either use 'jj' or 'jk')
|
||||
inoremap jj <Esc>
|
||||
|
||||
" Quick alignment of text
|
||||
" nnoremap <leader>al :left<CR>
|
||||
" nnoremap <leader>ar :right<CR>
|
||||
" nnoremap <leader>ac :center<CR>
|
||||
|
||||
" Sudo to write
|
||||
cnoremap w!! w !sudo tee % >/dev/null
|
||||
|
||||
" Ctrl+W to redraw
|
||||
"nnoremap <C-w> :redraw!<cr>
|
||||
|
||||
" Jump to matching pairs easily, with Tab
|
||||
nnoremap <Tab> %
|
||||
vnoremap <Tab> %
|
||||
|
||||
" Strip all trailing whitespace from a file, using ,W
|
||||
" NO, makes toooo many edits to files
|
||||
"nnoremap <leader>W :%s/\s\+$//<CR>:let @/=''<CR>
|
||||
|
||||
" Use The Silver Searcher over grep, iff possible
|
||||
if executable('ag')
|
||||
" Use ag over grep
|
||||
set grepprg=ag\ --nogroup\ --nocolor
|
||||
|
||||
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
|
||||
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
|
||||
|
||||
" ag is fast enough that CtrlP doesn't need to cache
|
||||
let g:ctrlp_use_caching = 0
|
||||
endif
|
||||
|
||||
" grep/Ack/Ag for the word under cursor
|
||||
vnoremap <leader>a y:grep! "\b<c-r>"\b"<cr>:cw<cr>
|
||||
nnoremap <leader>a :grep! "\b<c-r><c-w>\b"
|
||||
nnoremap K *N:grep! "\b<c-r><c-w>\b"<cr>:cw<cr>
|
||||
|
||||
" Allow quick additions to the spelling dict
|
||||
nnoremap <leader>g :spellgood <c-r><c-w>
|
||||
|
||||
" Define "Ag" command
|
||||
command -nargs=+ -complete=file -bar Ag silent! grep! <args> | cwindow | redraw!
|
||||
|
||||
" bind \ (backward slash) to grep shortcut
|
||||
nnoremap \ :Ag<SPACE>
|
||||
|
||||
" Creating folds for tags in HTML
|
||||
"nnoremap <leader>ft Vatzf
|
||||
|
||||
" Reselect text that was just pasted with ,v
|
||||
nnoremap <leader>v V`]
|
||||
|
||||
" Gundo.vim
|
||||
nnoremap <F5> :GundoToggle<CR>
|
||||
" }}}
|
||||
|
||||
" NERDTree settings {{{
|
||||
nnoremap <leader>n :NERDTreeTabsToggle<CR>
|
||||
"nnoremap <leader>n :NERDTree<CR>
|
||||
"nnoremap <leader>m :NERDTreeClose<CR>:NERDTreeFind<CR>
|
||||
"conflicts with toggle line numbers
|
||||
"nnoremap <leader>N :NERDTreeClose<CR>
|
||||
|
||||
" Store the bookmarks file
|
||||
"let NERDTreeBookmarksFile=expand("$HOME/.vim/NERDTreeBookmarks")
|
||||
let NERDTreeBookmarksFile=expand("/etc/vim/NERDTreeBookmarks")
|
||||
|
||||
" Show the bookmarks table on startup
|
||||
let NERDTreeShowBookmarks=1
|
||||
|
||||
" Show hidden files, too
|
||||
let NERDTreeShowFiles=1
|
||||
let NERDTreeShowHidden=1
|
||||
|
||||
" Quit on opening files from the tree
|
||||
let NERDTreeQuitOnOpen=1
|
||||
|
||||
" Highlight the selected entry in the tree
|
||||
let NERDTreeHighlightCursorline=1
|
||||
|
||||
" Use a single click to fold/unfold directories and a double click to open
|
||||
" files
|
||||
let NERDTreeMouseMode=2
|
||||
|
||||
" Don't display these kinds of files
|
||||
let NERDTreeIgnore=[ '\.pyc$', '\.pyo$', '\.py\$class$', '\.obj$',
|
||||
\ '\.o$', '\.so$', '\.egg$', '^\.git$' ]
|
||||
|
||||
" }}}
|
||||
|
||||
" TagList settings {{{
|
||||
nnoremap <leader>l :TlistClose<CR>:TlistToggle<CR>
|
||||
nnoremap <leader>L :TlistClose<CR>
|
||||
|
||||
" quit Vim when the TagList window is the last open window
|
||||
let Tlist_Exit_OnlyWindow=1 " quit when TagList is the last open window
|
||||
let Tlist_GainFocus_On_ToggleOpen=1 " put focus on the TagList window when it opens
|
||||
"let Tlist_Process_File_Always=1 " process files in the background, even when the TagList window isn't open
|
||||
"let Tlist_Show_One_File=1 " only show tags from the current buffer, not all open buffers
|
||||
let Tlist_WinWidth=40 " set the width
|
||||
let Tlist_Inc_Winwidth=1 " increase window by 1 when growing
|
||||
|
||||
" shorten the time it takes to highlight the current tag (default is 4 secs)
|
||||
" note that this setting influences Vim's behaviour when saving swap files,
|
||||
" but we have already turned off swap files (earlier)
|
||||
"set updatetime=1000
|
||||
|
||||
" the default ctags in /usr/bin on the Mac is GNU ctags, so change it to the
|
||||
" exuberant ctags version in /usr/local/bin
|
||||
let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
|
||||
|
||||
" show function/method prototypes in the list
|
||||
let Tlist_Display_Prototype=1
|
||||
|
||||
" don't show scope info
|
||||
let Tlist_Display_Tag_Scope=0
|
||||
|
||||
" show TagList window on the right
|
||||
let Tlist_Use_Right_Window=1
|
||||
|
||||
" }}}
|
||||
|
||||
" vim-flake8 default configuration
|
||||
let g:flake8_show_in_gutter=1
|
||||
|
||||
" Conflict markers {{{
|
||||
" highlight conflict markers
|
||||
match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$'
|
||||
|
||||
" shortcut to jump to next conflict marker
|
||||
nnoremap <silent> <leader>c /^\(<\\|=\\|>\)\{7\}\([^=].\+\)\?$<CR>
|
||||
" }}}
|
||||
|
||||
" Restore or remember last cursor position upon reopening files {{{
|
||||
"autocmd BufReadPost *
|
||||
" \ if line("'\"") > 0 && line("'\"") <= line("$") |
|
||||
" \ exe "normal! g`\"" |
|
||||
" \ endif
|
||||
" }}}
|
||||
|
||||
" Extra vi-compatibility {{{
|
||||
" set extra vi-compatible options
|
||||
set cpoptions+=$ " when changing a line, don't redisplay, but put a '$' at
|
||||
" the end during the change
|
||||
set formatoptions-=o " don't start new lines w/ comment leader on pressing 'o'
|
||||
au filetype vim set formatoptions-=o
|
||||
" somehow, during vim filetype detection, this gets set
|
||||
" for vim files, so explicitly unset it again
|
||||
" }}}
|
||||
|
||||
" Ignore common directories
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': 'node_modules\|bower_components',
|
||||
\ }
|
||||
|
||||
" Invoke CtrlP, but CommandT style
|
||||
nnoremap <leader>t :CtrlP<cr>
|
||||
nnoremap <leader>b :CtrlPTag<cr>
|
||||
nnoremap <leader>. :CtrlPBuffer<cr>
|
||||
|
||||
if has("gui_running")
|
||||
|
||||
"colorscheme molokai
|
||||
"colorscheme mustang
|
||||
"colorscheme badwolf
|
||||
colorscheme jellybeans
|
||||
|
||||
" Remove toolbar, left scrollbar and right scrollbar
|
||||
set guioptions-=T
|
||||
set guioptions-=l
|
||||
set guioptions-=L
|
||||
set guioptions-=r
|
||||
set guioptions-=R
|
||||
else
|
||||
set background=dark
|
||||
|
||||
"colorscheme molokai
|
||||
"colorscheme mustang
|
||||
"colorscheme badwolf
|
||||
colorscheme jellybeans
|
||||
"colorscheme heroku-terminal
|
||||
"colorscheme benokai
|
||||
endif
|
||||
|
||||
" Pulse ------------------------------------------------------------------- {{{
|
||||
|
||||
function! PulseCursorLine()
|
||||
let current_window = winnr()
|
||||
|
||||
windo set nocursorline
|
||||
execute current_window . 'wincmd w'
|
||||
|
||||
setlocal cursorline
|
||||
|
||||
redir => old_hi
|
||||
silent execute 'hi CursorLine'
|
||||
redir END
|
||||
let old_hi = split(old_hi, '\n')[0]
|
||||
let old_hi = substitute(old_hi, 'xxx', '', '')
|
||||
|
||||
hi CursorLine guibg=#3a3a3a
|
||||
redraw
|
||||
sleep 20m
|
||||
|
||||
hi CursorLine guibg=#4a4a4a
|
||||
redraw
|
||||
sleep 30m
|
||||
|
||||
hi CursorLine guibg=#3a3a3a
|
||||
redraw
|
||||
sleep 30m
|
||||
|
||||
hi CursorLine guibg=#2a2a2a
|
||||
redraw
|
||||
sleep 20m
|
||||
|
||||
execute 'hi ' . old_hi
|
||||
|
||||
windo set cursorline
|
||||
execute current_window . 'wincmd w'
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
|
||||
" Powerline configuration ------------------------------------------------- {{{
|
||||
|
||||
" Dont have powerline, too much of a pain to install, to many dependencies
|
||||
"let g:Powerline_symbols = 'compatible'
|
||||
"let g:Powerline_symbols = 'fancy'
|
||||
|
||||
" }}}
|
||||
|
||||
|
||||
" Use shift-H and shift-L for move to beginning/end
|
||||
nnoremap H 0
|
||||
nnoremap L $
|
||||
|
||||
" Split previously opened file ('#') in a split window
|
||||
nnoremap <leader>sh :execute "leftabove vsplit" bufname('#')<cr>
|
||||
nnoremap <leader>sl :execute "rightbelow vsplit" bufname('#')<cr>
|
||||
|
||||
" Abbreviations
|
||||
" ------------------------------------------------------------------------- {{{
|
||||
"abbrev pv !php artisan
|
||||
" }}}
|
||||
|
||||
|
||||
" Laravel and PHP stuff --------------------------------------------------- {{{
|
||||
" Auto-remove trailing spaces in PHP files
|
||||
autocmd BufWritePre *.php :%s/\s\+$//e
|
||||
|
||||
" Laravel framework commons
|
||||
"nmap <leader>lr :e app/routes.php<cr>
|
||||
"nmap <leader>lca :e app/config/app.php<cr>81Gf(%O
|
||||
"nmap <leader>lcd :e app/config/database.php<cr>
|
||||
"nmap <leader>lc :e composer.json<cr>
|
||||
|
||||
" I don't want to pull up these folders/files when calling CtrlP
|
||||
set wildignore+=*/vendor/**
|
||||
set wildignore+=*/node_modules/**
|
||||
|
||||
"Auto change directory to match current file ,cd
|
||||
nnoremap ,cd :cd %:p:h<CR>:pwd<CR>
|
||||
|
||||
" Prepare a new PHP class
|
||||
function! Class()
|
||||
let name = input('Class name? ')
|
||||
let namespace = input('Any Namespace? ')
|
||||
|
||||
if strlen(namespace)
|
||||
exec "normal i<?php namespace " . namespace . ";\<C-M>\<C-M>"
|
||||
else
|
||||
exec "normal i<?php \<C-m>"
|
||||
endif
|
||||
|
||||
" Open class
|
||||
exec "normal iclass " . name . " {\<C-m>}\<C-[>O\<C-[>"
|
||||
|
||||
exec "normal i\<C-M> public function __construct()\<C-M>{\<C-M>\<C-M>}\<C-[>"
|
||||
endfunction
|
||||
nmap ,1 :call Class()<cr>
|
||||
|
||||
|
||||
" }}}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user