YAJS.vim: Yet Another JavaScript Syntax for Vim
Clone or download
Pull request Compare This branch is 540 commits ahead, 86 commits behind jelera:master.


YAJS: Yet Another JavaScript Syntax

Yet Another JavaScript Syntax file for Vim. Key differences:

For ES.Next features such as decorator, binding operator. Please install es.next.syntax.vim.

Differences from jelera/vim-javascript-syntax

I start a new project instead of sending PR to jelera is because: jelera/vim-javascript-syntax is not so active. And I want to do lots of changes, including ES6 and other not confirmed standard support. Also, one of my goals is to produce 100% correct syntax. But it hurt performance, so I prefer to create a new one instead of merging back.


Recommend use pathogen or Vundle. Vundle:

Plugin 'othree/yajs.vim'


The major change in 2.0 is the basic object/method data comes from Mozilla's WebIDL. Current master branch is 2.0 beta. If it's not stable for you. You can git checkout 1.6.

Performance Issue

yajs.vim is not good on performance. If you are using a slow computer. You might feel lag while moving the cursor. You can try disable cursorline and colorcolumn, or reduce the number of synmaxcol. Another possible solution is change to neovim

If you still want cursor line highlight, some terminal has their built-in support. Ex: iTerm2, Edit Profile -> Colors -> Cursor Colors.


  • Jose Elera, Enhanced Javascript syntax
  • Zhao Yi, Claudio Fleiner, Scott Shattuck (This file is based on their hard work)
  • gumnos (From the #vim IRC Channel in Freenode) (Who helped me figure out the crazy Vim Regexes)



Report Issue

Please send issue report to github. Provide sample code to help me debug.


Version 2.0.1

  • Fix performance issue

Version 2.0

  • Include Mozilla's WebIDL
  • Bug Fix

Version 1.6

  • Bug Fix


Same as Vim