/tabnine-vim

Vim client for TabNine. https://vimawesome.com/plugin/tabnine-vim

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Deprecated

This plugin is no longer maintained. To get Tabnine latest features, including advanced (snippets) completions - use our new neovim extension tabnine-nvim

Github Repo Youtube Demo Video Twitter Follow

Tabnine - AI Code Completion

tl;dr

python3 users - switch to python3 branch

Tabnine is an AI-powered code completion extension trusted by millions of developers around the world. Whether you’re just getting started as a developer or if you’ve been doing it for decades, Tabnine will help you code twice as fast with half the keystrokes – all in your favorite IDE.

The Right Tool for The Job

Whether you call it IntelliSense, intelliCode, autocomplete, AI-assisted code completion, AI-powered code completion, AI copilot, AI code snippets, code suggestion, code prediction, code hinting, or content assist, you probably already know that it can save you tons of time, easily cutting your keystrokes in half.

Powered by sophisticated machine learning models trained on billions of lines of trusted Open Source code from GitHub, Tabnine is the most advanced AI-powered code completion copilot available today. And like GitHub, it is an essential tool for professional developers.

With and without Tabnine Java

Tabnine works with all major programming languages including:

Python Javascript Java
extended JS React PHP
Typescript C Header Bash
ML Swift Ruby
Perl Rust SQL
Vue F# Scala
Julia TOML Shell
YMAL C / C++/ C# HTML
Lua Markdown Haskell
Go Objective C JSON
CSS / SCSS Angular Kotlin

Our Vision

Knowing that most of the code generated today has been created before begs the question - what if developers didn’t need to remember it, search for it, and type it again?

Learning from the past, focusing on the future, that’s the bedrock Tabnine is built on. Our AI-powered code completion tool embodies that vision by harnessing the collective achievements of every qualified piece of open source code ever written and serving that knowledge to our users in the form of code completion suggestions. As we move forward, Tabnine’s AI will play a valuable role in shaping the entire software development lifecycle.

Tabnine’s AI studies mountains of publicly available open source code and combines that with knowledge of your specific project and preferences creating code suggestions customized just for you. That saves you tons of keystrokes, and tons of time, all while keeping you aligned with best practices, and avoiding frustrating typos.

Pick the Plan that Works Best for You!

Tabnine Basic Tabnine’s Basic AI-powered code completion model is a fantastic time-saving tool for any developer. The Basic plan has plenty of free daily code completion suggestions to get you started, with no cost, no credit card, and no commitment.

Tabnine Pro Supercharge your AI code completion suggestions with our advanced ML model, unlock unlimited code suggestions, customize your experience, and get priority support. Experience the power of Tabnine Pro today!

Installation

Tabnine plugs into the following completion engines:

  • YouCompleteMe
  • coc.nvim
  • completion-nvim
  • nvim-cmp
  • deoplete.nvim
  • ddc.vim
  • nvim-compe
  • vim-easycomplete
Not using any of the above?
  • If your completion engine is not supported - file a feature request.
  • If you don't use any completion engine - it's recommended that you follow the YouCompleteMe installation instructions.

YouCompleteMe

Tabnine supports YouCompleteMe through a fork. Follow the instructions here: https://github.com/tabnine/YouCompleteMe#installation

coc.nvim

A community plugin is available here: https://github.com/neoclide/coc-tabnine

completion-nvim

A community plugin is available here: https://github.com/aca/completion-tabnine#install

nvim-cmp

A community plugin is available here: https://github.com/tzachar/cmp-tabnine

deoplete.nvim

A community plugin is available here: https://github.com/tbodt/deoplete-tabnine

ddc.vim

A community plugin is available here: https://github.com/LumaKernel/ddc-tabnine

nvim-compe

A community plugin is available here: https://github.com/tzachar/compe-tabnine

vim-easycomplete

A community plugin is available here: https://github.com/jayli/vim-easycomplete

Investing In Our Community

FREE Tabnine Student Plan We know that tuition, books, rent, and food can get crazy expensive, that’s why Tabnine helps support the community and the dev superstars of tomorrow with a 100% free Tabnine Student license with all our Pro perks renewable for as long as you are a student.

Join the Tabnine Student Program for free

FAQ

Got a question? We’ve got the answer - Check out our FAQ page

Tabnine Support

Having some trouble with installation? Something not working the way you hoped? Tabnine Support is always happy to help. Feel free to contact us anytime at support@tabnine.com

Privacy

Your privacy is paramount, that’s why Tabnine uses a dual model design. While the public GPT-2 model works its magic continuously scanning hundreds of millions of trusted open source parameters, a second separate model runs locally on your machine keeping your code 100% private.

In addition, the local model focuses on learning your personal and project coding preferences, constantly improving the quality and accuracy of your code suggestions. Always separate. Always secure. Always private.

Find out more about how we keep your code private here

Tabnine Hub

A quick click on Tabnine on your IDE status bar takes you directly to your Tabnine Hub where you can easily update and manage all your account options and customize your suggestion preferences.

Usage

Tabnine is a textual autocomplete extension. When you type a specific string in your editor, you will be shown the Tabnine completion dialog box with suggestions for completing the code you’ve begun typing.

Deep Completion

Deep Tabnine is trained on millions of files from GitHub. During training, Tabnine’s goal is to predict the next token given the tokens that came before. To achieve this goal, Tabnine learns complex behavior, such as type inference in dynamically typed languages.

Deep Tabnine can use subtle clues that are difficult for traditional tools to access. For example, the return type of app.get_user() is assumed to be an object with setter methods, while the return type of app.get_users() is assumed to be a list.

Deep Tabnine is based on GPT-2, which uses the Transformers Network Architecture. This architecture was first developed to solve problems in natural language processing. Although modeling code and modeling natural language might appear to be unrelated tasks, modeling code requires understanding English in some unexpected ways.

  • Tabnine Indexes your entire project and determines which files to ignore by reading your .gitignore
  • Tabnine cuts your number of keystrokes in half and eliminates unnecessary typos
  • Tabnine works right out of the box ensuring frictionless installation and configuration
  • Tabnine offers code completion suggestions in less than 10 milliseconds

Commuinities

Recommended by developers everywhere:

William Candillon Tweet

Imed Boumalek Tweet

ramnivas Tweet

bob paskar Tweet

Nick Radford Tweet

Hugues BR Tweet

JohnyTheCarrot Tweet

Donald E Fredrick Tweet

Joshua Kelly Tweet

JDerek Braid Tweet

Note:


A note on licensing: this repo includes source code as well as packaged Tabnine binaries. The MIT license only applies to the source code, not the binaries. The binaries are covered by the Tabnine Terms of Use.


The Vim client for Tabnine is adapted from YouCompleteMe. This client is an incompatible fork of YouCompleteMe, so please do not contact the YCM maintainers regarding any problems with it. Instead, create an issue in this repository.