Tern for Vim
This is a Vim plugin that provides Tern-based JavaScript editing support.
NOTE: This project is not being actively maintained right now. If you'd be interested in becoming a maintainer, write me or open an issue.
In JavaScript files, the package will hook into omni completion to handle autocompletion, and provide the following commands:
TernDef
: Jump to the definition of the thing under the cursor.
TernDoc
: Look up the documentation of something.
TernType
: Find the type of the thing under the cursor.
TernRefs
: Show all references to the variable or property under the
cursor.
TernRename
: Rename the variable under the cursor.
Installation
Manual
If you use Pathogen or something similar, you can clone this
repository to your ~/.vim/bundle
(or equivalent) directory. Make
sure you have node.js and npm installed (Tern is a
JavaScript program), and install the tern server by running npm install
in the bundle/tern_for_vim
directory.
Caution: Because the node process is not run using your standard shell, the NVM version of node.js won't work. You need a global node executable.
apt-vim
Install apt-vim and then run the following in terminal:
apt-vim install -y https://github.com/ternjs/tern_for_vim.git
Configuration
The command used to start the Tern server can be overridden by setting
tern#command
to an array of strings (the binary and its arguments,
if any). You might need this if your node is installed somewhere
that's not in the default path, or if you want to install Tern in some
custom location.
The variable tern#is_show_argument_hints_enabled
can be set to
something truthy to make the plugin display the arguments to the
current function at the bottom of the screen. This feature is
currently not very mature, and likely to make your editing laggy.
Tern uses .tern-project
files to configure loading libraries and
plugins for a project. See the Tern docs for details.