diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f73e195
--- /dev/null
+++ b/README.md
@@ -0,0 +1,2 @@
+Vim syntax highlighting for [Vue
+components](http://vuejs.org/guide/application.html#Single_File_Components).
diff --git a/ftdetect/vue.vim b/ftdetect/vue.vim
new file mode 100644
index 0000000..dc49cc8
--- /dev/null
+++ b/ftdetect/vue.vim
@@ -0,0 +1 @@
+au BufNewFile,BufRead *.vue setf vue
diff --git a/syntax/vue.vim b/syntax/vue.vim
new file mode 100644
index 0000000..525903d
--- /dev/null
+++ b/syntax/vue.vim
@@ -0,0 +1,21 @@
+" Vim syntax file
+" Language: Vue.js
+" Maintainer: W. Evan Sheehan
+
+if exists("b:current_syntax")
+ finish
+endif
+
+syntax include @HTML syntax/html.vim
+unlet b:current_syntax
+syntax region template keepend start=// end="" contains=@HTML fold
+
+syntax include @JS syntax/javascript.vim
+unlet b:current_syntax
+syntax region script keepend start=/" contains=@JS fold
+
+syntax include @CSS syntax/css.vim
+unlet b:current_syntax
+syntax region style keepend start=/" contains=@CSS fold
+
+let b:current_syntax = "vue"