Skip to content

ternjs/tern_for_vim

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.