IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 2022_0420_WSL2安装带有Tabnine自动补全功能的Vim -> 正文阅读

[开发工具]2022_0420_WSL2安装带有Tabnine自动补全功能的Vim

WSL2安装带有Tabnine自动补全功能的Vim

tabnine_logo.png

前言

想在WSL2下写bug,但是Vim没补全,尝试了pydiction,不好用,连pytorch的语法都补全不了。(纯纯的five)

想起来Vscode上一直在用Tabnine,其使用机器学习来进行语法补全的功能深得我心,我就在想能不能在Vim上弄个Tabnine插件帮助我写bug。

先上结果:

TextCNN

官方文档写的不是很完善,折腾了半天,最后还是配置好了。整理了一下遇到的坑,记录在这里,希望能帮到有同样问题的人。

Tabnine安装

Code Faster with AI Code Completions

在Tabnine官网提供了Vim安装的方式,我选择了YouCompleteMe(下文统一称YCM),因为之前装过YCM,用起来很顺手,就是不太好装。

进入Github Tabnine fork的YouCompleteMe之后,因为是在WSL里面,所以就顺着Linux 64-bit的安装方式来。

安装Vundle

因为想要安装YCM,需要通过Vundle来管理,所以我们先安装Vundle。

clone Vundle的项目到 ~/.vim/bundle/Vundle.vim

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

把下面的配置输入到 ~/.vimrc 中:(其中只有 Plugin 'VundleVim/Vundle.vim' 是必要插件,别的如果安装报错都可以注释掉。gmarik我装不上已经注释掉了,另外需要把 Plugin 'tabnine/YouCompleteMe'也加入到插件列表,这里我已经加完了,直接粘贴到 .vimrc就能用。)

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub
Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
" Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
" Plugin 'ascenator/L9', {'name': 'newL9'}
" YouCompleteMe
Plugin 'tabnine/YouCompleteMe'
" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

先不用 :PluginInstall,因为我们还没有编译YCM。

安装YCM

  • 安装依赖(以Tabline在Github下的Repo为准)
sudo apt install build-essential cmake vim-nox python3-dev
sudo apt install mono-complete golang nodejs default-jdk npm
  • 编译YCM
cd ~/.vim/bundle/YouCompleteMe
python3 install.py --all

这里可能会提示File .vim/*/YouCompleteMe/third_party/ycmd/build.py does not exist ,其实我们按照Terminal给出的提示输入 git submodule update --init --recursive 检查依赖环境,之后就可以顺利完成安装了。这里等待的时间可能会比较长,并且不开代理一般是下不下来的。

编译结束后我们进入到Vim中,在Visual模式下输入 :PluginInstall

Plugin

Vim会展开两列,左侧是我们要安装的插件,可以看到 tabnine/YouCompleteMe 也是位列其中的。Terminal左下方会显示 Done! 表示我们已经安装成功。
在这里插入图片描述

之后开始快乐写bug吧~

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:19:59  更:2022-04-29 12:20:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 2:38:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码