with ID & class" w
+
+ ${0:${VISUAL}}
+
+endsnippet
+
+snippet form "XHTML
+endsnippet
+
+snippet h1 "XHTML
" w
+${0:${VISUAL}}
+endsnippet
+
+snippet h2 "XHTML " w
+${0:${VISUAL}}
+endsnippet
+
+snippet h3 "XHTML " w
+${0:${VISUAL}}
+endsnippet
+
+snippet h4 "XHTML " w
+${0:${VISUAL}}
+endsnippet
+
+snippet h5 "XHTML " w
+${0:${VISUAL}}
+endsnippet
+
+snippet h6 "XHTML " w
+${0:${VISUAL}}
+endsnippet
+
+snippet link "XHTML " w
+
+endsnippet
+
+snippet meta "XHTML " w
+
+endsnippet
+
+snippet scriptsrc "XHTML
+endsnippet
+
+snippet script "XHTML
+endsnippet
+
+snippet span "" w
+ ${0:${VISUAL}}
+endsnippet
+
+snippet span. " with class" w
+ ${0:${VISUAL}}
+endsnippet
+
+snippet span# " with ID & class" w
+ ${0:${VISUAL}}
+endsnippet
+
+snippet style "XHTML
+endsnippet
+
+snippet table "XHTML " w
+
+endsnippet
+
+snippet a "Link" w
+${4:Anchor Text}
+endsnippet
+
+snippet p "paragraph" w
+${0:${VISUAL}}
+endsnippet
+
+snippet li "list item" w
+${0:${VISUAL}}
+endsnippet
+
+snippet ul "unordered list" w
+
+endsnippet
+
+snippet td "table cell" w
+${0:${VISUAL}} |
+endsnippet
+
+snippet th "table header" w
+${0:${VISUAL}} |
+endsnippet
+
+snippet tr "table row" w
+${0:${VISUAL}}
+endsnippet
+
+snippet title "XHTML " w
+${1:`!p snip.rv = snip.basename or "Page Title"`}
+endsnippet
+
+snippet fieldset "Fieldset" w
+
+endsnippet
+
+
diff --git a/dotfiles/vim/UltiSnips/html_php.snippets b/dotfiles/vim/UltiSnips/html_php.snippets
new file mode 100644
index 0000000..ef0a306
--- /dev/null
+++ b/dotfiles/vim/UltiSnips/html_php.snippets
@@ -0,0 +1,43 @@
+snippet php "php tag" i
+
+endsnippet
+
+snippet phpe "php echo tag" i
+= $1 ?>
+endsnippet
+
+snippet phpif "php if statment" b
+
+ $2
+
+endsnippet
+
+snippet phpife "php if else statment" b
+ if ($1): ?>
+ $2
+ else: ?>
+ $3
+ endif; ?>
+endsnippet
+
+snippet phpifeif "php if else if statment" b
+ if ($1): ?>
+ $2
+ elseif ($3): ?>
+ $4
+ else: ?>
+ $5
+ endif; ?>
+endsnippet
+
+snippet phpfe "php foreach" b
+${3:$value}): ?>
+ $4
+
+endsnippet
+
+snippet phpf "php for loop" b
+
+ $3
+
+endsnippet
diff --git a/dotfiles/vim/UltiSnips/php.snippets b/dotfiles/vim/UltiSnips/php.snippets
new file mode 100644
index 0000000..e561266
--- /dev/null
+++ b/dotfiles/vim/UltiSnips/php.snippets
@@ -0,0 +1,187 @@
+snippet - "" i
+->$1
+endsnippet
+
+snippet = "" i
+=>
+endsnippet
+
+snippet this "Description" b
+$this->$1
+endsnippet
+
+snippet pr "Dumb debug helper in HTML"
+echo '' . var_export($1, 1) . '
';$0
+endsnippet
+
+snippet pub "Public function" b
+/**
+ * ${3:undocumented function}
+ *
+ * @return ${4:void}
+ */
+public function ${1:name}(${2:$param})
+{
+ ${VISUAL}${5:return null;}
+
+}
+$0
+endsnippet
+
+snippet pro "Protected function" b
+/**
+ * ${3:undocumented function}
+ *
+ * @return ${4:void}
+ */
+protected function ${1:name}(${2:$param})
+{
+ ${VISUAL}${5:return null;}
+
+}
+$0
+endsnippet
+
+snippet pri "Private function" b
+/**
+ * ${3:undocumented function}
+ *
+ * @return ${4:void}
+ */
+private function ${1:name}(${2:$param})
+{
+ ${VISUAL}${5:return null;}
+
+}
+$0
+endsnippet
+
+snippet pubs "Public static function" b
+/**
+ * ${3:undocumented function}
+ *
+ * @return ${4:void}
+ */
+public static function ${1:name}(${2:$param})
+{
+ ${VISUAL}${5:return null;}
+
+}
+$0
+endsnippet
+
+snippet pros "Protected static function" b
+/**
+ * ${3:undocumented function}
+ *
+ * @return ${4:void}
+ */
+protected static function ${1:name}(${2:$param})
+{
+ ${VISUAL}${5:return null;}
+
+}
+$0
+endsnippet
+
+snippet pris "Private static function" b
+/**
+ * ${3:undocumented function}
+ *
+ * @return ${4:void}
+ */
+private static function ${1:name}(${2:$param})
+{
+ ${VISUAL}${5:return null;}
+
+}
+$0
+endsnippet
+
+snippet new "New class instance" b
+$${1:variableName} = new ${2:${1/\w+\s*/\u$0/}}($3);
+$0
+endsnippet
+
+snippet ns "namespace declaration" b
+namespace ${1:`!p
+relpath = os.path.relpath(path)
+m = re.search(r'[A-Z].+(?=/)', relpath)
+if m:
+ snip.rv = m.group().replace('/', '\\')
+`};
+endsnippet
+
+snippet class "Class declaration template" b
+$1 = $$1;/g}
+}
+$0
+endsnippet
+
+# PHPUnit snippets
+snippet testcase "class XYZTest extends \PHPUnit_Framework_TestCase { ... }"
+
+endsnippet
+
+snippet phpe "php echo tag" i
+= $1 ?>
+endsnippet
+
+snippet phpif "php if statment" b
+
+ $2
+
+endsnippet
+
+snippet phpife "php if else statment" b
+ if ($1): ?>
+ $2
+ else: ?>
+ $3
+ endif; ?>
+endsnippet
+
+snippet phpifeif "php if else if statment" b
+ if ($1): ?>
+ $2
+ elseif ($3): ?>
+ $4
+ else: ?>
+ $5
+ endif; ?>
+endsnippet
+
+snippet phpfe "php foreach" b
+${3:$value}): ?>
+ $4
+
+endsnippet
+
+snippet phpf "php for loop" b
+
+ $3
+
+endsnippet
diff --git a/dotfiles/vim/UltiSnips/php_yii.snippets b/dotfiles/vim/UltiSnips/php_yii.snippets
new file mode 100644
index 0000000..e0faa3b
--- /dev/null
+++ b/dotfiles/vim/UltiSnips/php_yii.snippets
@@ -0,0 +1,14 @@
+snippet yiifk "migration foreign key" b
+/*
+ * FOREIGN KEY : ${1:Table}.${2:Field}
+ * REFERENCES : ${3:Reference Table}.${4:Reference Field}
+ */
+$this->addForeignKey(
+ 'fk-$1-$2',
+ '$1',
+ '$2',
+ '$3',
+ '$4',
+ 'CASCADE'
+);
+endsnippet
diff --git a/dotfiles/vim/UltiSnips/snippets.snippets b/dotfiles/vim/UltiSnips/snippets.snippets
new file mode 100644
index 0000000..b4778e9
--- /dev/null
+++ b/dotfiles/vim/UltiSnips/snippets.snippets
@@ -0,0 +1,17 @@
+# We use a little hack so that the snippet is expanded
+# and parsed correctly
+snippet snip "Snippet definition" b
+`!p snip.rv = "snippet"` ${1:Tab_trigger} "${2:Description}" ${3:b}
+$0
+`!p snip.rv = "endsnippet"`
+endsnippet
+
+snippet global "Global snippet" b
+`!p snip.rv = "global"` !p
+$0
+`!p snip.rv = "endglobal"`
+endsnippet
+
+snippet vis "${VISUAL}" i
+\$\{VISUAL${1:${2:default}${3:/transform/}}\}
+endsnippet
diff --git a/dotfiles/vimrc b/dotfiles/vimrc
index 0dda6c4..af834cd 100644
--- a/dotfiles/vimrc
+++ b/dotfiles/vimrc
@@ -128,14 +128,10 @@ set encoding=utf-8
" plugins
" --------------------------------------------------------------------------------
-" php complete
-let $PATH=$PATH . ':' . expand('~/.config/composer/vendor/bin')
-let g:padawan#composer_command = "composer"
-
" ultisnips
let g:UltiSnipsSnippetsDir = "~/.vim/UltiSnips"
let g:snips_author = "AdeAttwood"
-let g:snips_email = "attwood16@gmail.com"
+let g:snips_email = "attwood16@googlemail.com"
" vimwiki
let g:vimwiki_list = [{
diff --git a/dotfiles/vimrc_win b/dotfiles/vimrc_win
new file mode 100644
index 0000000..c64d79f
--- /dev/null
+++ b/dotfiles/vimrc_win
@@ -0,0 +1,184 @@
+" important
+" --------------------------------------------------------------------------------
+call pathogen#infect()
+set nocompatible
+set runtimepath^=%homepath%\vimfiles\bundle\ctrlp.vim
+filetype plugin off
+set t_Co=256
+" --------------------------------------------------------------------------------
+" not sorted
+" --------------------------------------------------------------------------------
+autocmd BufNewFile,BufRead *.phtml set ft=html
+set guifont=Consolas:h12:cANSI
+colorscheme desert
+" --------------------------------------------------------------------------------
+
+" --------------------------------------------------------------------------------
+set showmatch
+set incsearch
+set hlsearch
+" --------------------------------------------------------------------------------
+" tags
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" displaying text
+" --------------------------------------------------------------------------------
+set linebreak
+set nowrap
+set nu
+set rnu
+" --------------------------------------------------------------------------------
+" highlighting and spelling
+" --------------------------------------------------------------------------------
+set cursorline
+syntax on
+" --------------------------------------------------------------------------------
+" multiple windows
+" --------------------------------------------------------------------------------
+set laststatus=2
+" --------------------------------------------------------------------------------
+" multiple tab pages
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" terminal
+" --------------------------------------------------------------------------------
+set title
+" --------------------------------------------------------------------------------
+" using the mouse
+" --------------------------------------------------------------------------------
+"set mouse=a
+" --------------------------------------------------------------------------------
+" printing
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" messages and info
+" --------------------------------------------------------------------------------
+set ruler
+set showcmd
+" --------------------------------------------------------------------------------
+" selecting text
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" editing text
+" --------------------------------------------------------------------------------
+set matchpairs+=<:>
+" --------------------------------------------------------------------------------
+" tabs and indenting
+" --------------------------------------------------------------------------------
+set tabstop=4
+set shiftwidth=4
+set expandtab
+set autoindent
+filetype plugin indent on
+" --------------------------------------------------------------------------------
+" folding
+" --------------------------------------------------------------------------------
+set foldmethod=indent
+set foldlevel=1
+set foldnestmax=2
+"set nofen
+" --------------------------------------------------------------------------------
+" diff mode
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" mapping
+" --------------------------------------------------------------------------------
+inoremap EE $a
+inoremap ;; $a;
+inoremap jj :w
+nnoremap p :set pasteo"*]p:set nopaste"
+nnoremap b :ls:b
+nmap o :NERDTreeToggle
+nmap s ]sz=
+nmap r :BLReloadPage
+nnoremap :vertical resize +5
+noremap :vertical resize -5
+nnoremap :resize +5
+nnoremap :resize -5
+nnoremap d :call pdv#DocumentWithSnip()
+nnoremap t :! vendor/bin/phpunit
+nnoremap tf :! vendor/bin/phpunit %
+" --------------------------------------------------------------------------------
+" reading and writing files
+" --------------------------------------------------------------------------------
+set autoread
+" --------------------------------------------------------------------------------
+" the swap file
+" --------------------------------------------------------------------------------
+set noswapfile
+" --------------------------------------------------------------------------------
+" command line editing
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" executing external commands
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" running make and jumping to errors
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" language specific
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" multi-byte characters
+" --------------------------------------------------------------------------------
+set fileencoding=utf-8
+set encoding=utf-8
+" --------------------------------------------------------------------------------
+" variousexecute
+" --------------------------------------------------------------------------------
+" --------------------------------------------------------------------------------
+" plugins
+" --------------------------------------------------------------------------------
+" git gutter
+"let g:gitgutter_git_executable="C:\tools\cmder\vendor\git-for-windows\bin\git.exe"
+"
+"let g:sparkupExecuteMapping=''
+"let g:sparkupExecuteMapping = ''
+
+" ultisnips
+let g:UltiSnipsJumpForwardTrigger=""
+let g:UltiSnipsJumpBackwardTrigger=""
+let g:UltiSnipsSnippetsDir = "%homepath%\vimfiles\UltiSnips"
+let g:snips_author = "AdeAttwood"
+let g:snips_email = "attwood16@googlemail.com"
+
+" vimwiki
+let g:vimwiki_list = [{
+\ 'path': '%homepath%\vimwiki\',
+\ 'template_path': '%homepath\vimwiki\templates',
+\ 'template_default': 'default',
+\ 'template_ext': '.html',
+\ 'auto_toc': 1}]
+
+au BufRead,BufNewFile *.wiki set filetype=vimwiki
+function! ToggleCalendar()
+ execute ":Calendar"
+ if exists("g:calendar_open")
+ if g:calendar_open == 1
+ execute "q"
+ unlet g:calendar_open
+ else
+ g:calendar_open = 1
+ end
+ else
+ let g:calendar_open = 1
+ end
+endfunction
+
+autocmd FileType calendar nmap :call vimwiki#diary#calendar_action(b:calendar.day().get_day(), b:calendar.day().get_month(), b:calendar.day().get_year(), b:calendar.day().week(), "V")
+
+" vim-airline
+let g:airline#extensions#branch#enabled=1
+let g:airline_theme='bubblegum'
+
+" browserlink
+let g:bl_pagefiletype = ['html', 'javascript', 'css', 'scss', 'sass', 'php', 'phtml']
+
+" pdv
+let g:pdv_template_dir = "C:/Users/ade/vimfiles/bundle/pdv/templates_snip"
+
+" indent-guides
+let g:indent_guides_auto_colors = 1
+" --------------------------------------------------------------------------------
+" functions
+" --------------------------------------------------------------------------------