diff --git a/.gitmodules b/.gitmodules
index ddcd7b39..aaadc871 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,3 +10,7 @@
[submodule "my_plugins/fzf.vim"]
path = my_plugins/fzf.vim
url = https://github.com/junegunn/fzf.vim.git
+[submodule "my_plugins/vim-vue-syntastic"]
+ path = my_plugins/vim-vue-syntastic
+ url = git@github.com:sekel/vim-vue-syntastic.git
+ branch = master
diff --git a/my_plugins/vim-vue-syntastic b/my_plugins/vim-vue-syntastic
new file mode 160000
index 00000000..49910239
--- /dev/null
+++ b/my_plugins/vim-vue-syntastic
@@ -0,0 +1 @@
+Subproject commit 499102395e122d96c847e87500f3ebe401f526b0
diff --git a/my_plugins/vim-vue-syntastic/README.md b/my_plugins/vim-vue-syntastic/README.md
deleted file mode 100644
index 8f3f4618..00000000
--- a/my_plugins/vim-vue-syntastic/README.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# vim-vue-syntastic
-
-### 1\. What?
-
-Support for vue components linting with syntastic and eslint
-
-### 2\. Dependencies
-
-- [Syntastic](https://github.com/scrooloose/syntastic)
-- [ESlint](http://eslint.org/)
-- [vim-vue](https://github.com/posva/vim-vue)
-
-### 2.1\. Installing vim-vue-syntastic with Pathogen
-
-If you already have [Pathogen][1] working then skip [Step 1](#step1) and go to
-[Step 2](#step2).
-
-
-
-#### 2.1.1\. Step 1: Install pathogen.vim
-
-First I'll show you how to install Tim Pope's [Pathogen][1] so that it's easy to
-install syntastic. Do this in your terminal so that you get the `pathogen.vim`
-file and the directories it needs:
-```sh
-mkdir -p ~/.vim/autoload ~/.vim/bundle && \
-curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
-```
-Next you *need* to add this to your `~/.vimrc`:
-```vim
-execute pathogen#infect()
-```
-
-
-#### 2.1.3\. Step 2: Install vim-vue-syntastic as a Pathogen bundle and friends
-
-You now have pathogen installed and can put syntastic into `~/.vim/bundle` like
-this:
-
-```sh
-cd ~/.vim/bundle && \
-git clone https://github.com/sekel/vim-vue-syntastic.git
-```
-... and the same song and dance for the dependencies
-
-#### 2.1.3\. Step 3: Optional configuration to make it work with local project eslint
-
-Stick this in your `~/.vimrc`:
-
-```vim
-let g:syntastic_javascript_checkers = ['eslint']
-let g:syntastic_vue_checkers = ['eslint']
-let local_eslint = finddir('node_modules', '.;') . '/.bin/eslint'
-if matchstr(local_eslint, "^\/\\w") == ''
- let local_eslint = getcwd() . "/" . local_eslint
-endif
-if executable(local_eslint)
- let g:syntastic_javascript_eslint_exec = local_eslint
- let g:syntastic_vue_eslint_exec = local_eslint
-endif
-```
diff --git a/my_plugins/vim-vue-syntastic/syntax_checkers/vue/eslint.vim b/my_plugins/vim-vue-syntastic/syntax_checkers/vue/eslint.vim
deleted file mode 100644
index c225a9ce..00000000
--- a/my_plugins/vim-vue-syntastic/syntax_checkers/vue/eslint.vim
+++ /dev/null
@@ -1,78 +0,0 @@
-"============================================================================
-"File: eslint.vim
-"Description: Vue syntax checker - using eslint.
-"Maintainer: Sebastian Kellgren sebastian at thriver dot io
-"License: This program is free software. It comes without any warranty,
-" to the extent permitted by applicable law. You can redistribute
-" it and/or modify it under the terms of the Do What The Fuck You
-" Want To Public License, Version 2, as published by Sam Hocevar.
-" See http://sam.zoy.org/wtfpl/COPYING for more details.
-"============================================================================
-
-if exists('g:loaded_syntastic_vue_eslint_checker')
- finish
-endif
-let g:loaded_syntastic_vue_eslint_checker = 1
-
-if !exists('g:syntastic_vue_eslint_sort')
- let g:syntastic_vue_eslint_sort = 1
-endif
-
-if !exists('g:syntastic_vue_eslint_generic')
- let g:syntastic_vue_eslint_generic = 0
-endif
-
-let s:save_cpo = &cpo
-set cpo&vim
-
-function! SyntaxCheckers_vue_eslint_IsAvailable() dict
- if g:syntastic_vue_eslint_generic
- call self.log('generic eslint, exec =', self.getExec())
- endif
-
- if !executable(self.getExec())
- return 0
- endif
- return g:syntastic_vue_eslint_generic || syntastic#util#versionIsAtLeast(self.getVersion(), [0, 1])
-endfunction
-
-function! SyntaxCheckers_vue_eslint_GetLocList() dict
- if !g:syntastic_vue_eslint_generic
- call syntastic#log#deprecationWarn('vue_eslint_conf', 'vue_eslint_args',
- \ "'--config ' . syntastic#util#shexpand(OLD_VAR)")
- endif
-
- let makeprg = self.makeprgBuild({ 'args_before': (g:syntastic_vue_eslint_generic ? '' : '-f compact') })
-
- let errorformat =
- \ '%E%f: line %l\, col %c\, Error - %m,' .
- \ '%W%f: line %l\, col %c\, Warning - %m'
-
- let loclist = SyntasticMake({
- \ 'makeprg': makeprg,
- \ 'errorformat': errorformat,
- \ 'postprocess': ['guards'] })
-
- if !g:syntastic_vue_eslint_generic
- if !exists('s:eslint_new')
- let s:eslint_new = syntastic#util#versionIsAtLeast(self.getVersion(), [1])
- endif
-
- if !s:eslint_new
- for e in loclist
- let e['col'] += 1
- endfor
- endif
- endif
-
- return loclist
-endfunction
-
-call g:SyntasticRegistry.CreateAndRegisterChecker({
- \ 'filetype': 'vue',
- \ 'name': 'eslint'})
-
-let &cpo = s:save_cpo
-unlet s:save_cpo
-
-" vim: set sw=4 sts=4 et fdm=marker: