Долгое время лучшим вариантом для интеграции с Vim javascript было использование Tern.js в сочетании с YouCompleteMe (YCM). Это был несколько обременительный процесс, и я всегда завидовал своим коллегам, использующим VS Code с его потрясающей встроенной поддержкой JavaScript.
К счастью, теперь, когда Tern.js больше не поддерживается, YCM начал поддерживать tsserver, компилятор Microsoft TypeScript и анализатор языка - тот же движок, на котором работает VS Code. Он работает как для TypeScript, так и для JavaScript.

Для начала достаточно установить tsserver:
npm intall -g typescript
Затем следуйте обычным инструкциям по установке YCM. (примечание: вам, возможно, придется следовать их особым инструкциям, если вы использовали Tern.js в прошлом.)
Для правильной работы вашему проекту потребуется jsconfig.json файл в корневой папке. Я использую следующее для проекта create-react-app:
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"allowSyntheticDefaultImports": true,
"baseUrl": "./src/",
"paths": {
"*": [
"*"
]
}
},
"exclude": [
"node_modules",
"**/node_modules/*"
]
}
Я также переназначил Ctrl-] в моем .vimrc, чтобы использовать команду YCM GoTo для быстрого перехода к определениям:
autocmd FileType javascript nmap <buffer> <C-]> :YcmCompleter GoTo<CR>
Теперь наслаждайтесь современным автозаполнением JavaScript в Vim!