Ubuntu22.04 Vim(第二篇-YouCompleteMe代码补全插件)

2 篇文章 0 订阅
1 篇文章 0 订阅

一、基本环境

主机MacOs Sonoma 14.7
虚拟机Parallels Desktop 20 for Mac Pro Edition 版本 20.0.1 (55659)
虚拟机-操作系统Ubuntu 22.04 最小安装

二、安装依赖

# 安装ycm时要用到
apt install cmake

# 代码补全要用到
apt install clang
apt install python3-dev
apt install nodejs npm

 三、安装插件管理工具Vim-Plug

mkdir ~/.vim
cd ~/.vim

autoload文件夹也可在安装Vim-plug插件时创建
mkdir plugged plugin syntax colors doc autoload
	
git clone https://github.com/junegunn/vim-plug

# 拷贝插件到指定目录下
cp vim-plug/plug.vim .vim/autoload/


当初在centos7.9上安装这玩意,真就是搞死个人啊,特别是glibc这狗日的
更新这玩意前,强烈建议备份虚拟机,一个不小心,安装完后就嗝屁了,安装glibc的需要的支持:
| 要求                            | 实际使用                 |
| ------------------------------ | ----------------------- |
| GNU 'make' 4.0 or newer        | make-4.1                |
| GCC 6.2 or newer               | gcc9.2.0                |
| GNU 'binutils' 2.25 or later   | binutils 2.41           |
|                                | cmake-3.14.5            |
| GNU 'texinfo' 4.7 or later     | texinfo-5.1             |
| GNU 'awk' 3.1.2, or higher     | GNU Awk 4.0.2           |
| GNU 'bison' 2.7 or later       | bison (GNU Bison) 3.0.4 |
| Perl 5                         | Perl 5                  |
| PExpect 4.0                    | pexpect-4.9.0           |
| GNU 'sed' 3.02 or newer        | sed (GNU sed) 4.2.2     |
| GNU 'autoconf' 2.69 (exactly)  |                         |
| GNU 'gettext' 0.10.36 or later |                         |

wget -c https://ftp.gnu.org/gnu/glibc/glibc-2.31.tar.xz --no-check-certificate
	
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checks --enable-obsolete-nsl
make -j4
make install
make localedata/install-locales

值得注意的是glibc的编译gcc13就不能编译,我当初用的是9.2版本,但编译ycm的时候9.2又不够用了,反正麻烦的很
目录名作用
autoload/它是一个非常重要的目录,尽管听起来比实际复杂。简而言之,它里面放置的是当你真正需要的时候才被自动加载运行的文件,而不是在vim启动时就加载。
colors/是用来存放vim配色方案的。
plugin/存放的是每次启动vim都会被运行一次的插件,也就是说只要你想在vim启动时就运行的插件就放在这个目录下。我们可以放从vim-plug官方下载下来的插件.vim
syntax/语法描述脚本。我们放有关文本(比如c语言)语法相关的插件
doc/为插件放置文档的地方。例如:help的时候可以用到。
ftdetect/中的文件同样也会在vim启动时就运行。有些时候可能没有这个目录。ftdetect代表的是“filetype detection(文件类型检测)”。此目录中的文件应该用自动命令(autocommands)来检测和设置文件的类型,除此之外并无其他。也就是说,它们只该有一两行而已。
ftplugin/此目录中的文件有些不同。当vim给缓冲区的filetype设置一个值时,vim将会在~/.vim/ftplugin/目录下来查找和filetype相同名字的文件。例如你运行set filetype=derp这条命令后,vim将查找~/.vim/ftplugin/derp.vim此文件,如果存在就运行它。不仅如此,它还会运行ftplugin下相同名字的子目录中的所有文件,如~/.vim/ftplugin/derp/这个文件夹下的文件都会被运行。每次启用时,应该为不同的文件类型设置局部缓冲选项,如果设置为全局缓冲选项的话,将会覆盖所有打开的缓冲区。
ndent/这里面的文件和ftplugin中的很像,它们也是根据它们的名字来加载的。它放置了相关文件类型的缩进。例如python应该怎么缩进,java应该怎么缩进等等。其实放在ftplugin中也可以,但单独列出来只是为了方便文件管理和理解。
compiler/和indent很像,它放的是相应文件类型应该如何编译的选项。
after/这里面的文件也会在vim每次启动的时候加载,不过是等待~/.vim/plugin/加载完成之后才加载after里的内容,所以叫做after。
spell/拼写检查脚本。

 四、安装Ycm

cd ~
vim /.vimrc
	
call plug#begin('~/.vim/plugged')
    # github太慢
    Plug 'https://gitee.com/pengzongwei/YouCompleteMe.git'
call plug#end()
	
:w
:source
:PlugInstall
# 安装好会提示youcompleteme需要build

五、下载子模块 

 # 若自动下载子模块失败
 cd ~/.vim/plugged/YouCompleteMe/third_party/ycmd
 git submodule update --init --recursive --progress
    
 这个过程会比较慢,慢的话多试几次,说不定一下子就很快了,获取访问github路由的问题

六.开始构建

cd ~/.vim/plugged/YouCompleteMe/third_party/ycmd
python3 build.py --force-sudo --verbose

七.开始安装

cd /.vim/plugged/YouCompleteMe
python3 install.py --clangd-completer --js-completer --force-sudo --verbose


C/C++/Objective-C/Objective-C++:编译时添加--clang-completer
CSharp:先安装Mono,编译时添加--cs-completer
Go:先安装Go,编译时添加--go-completer
TypeScript:先安装 Node.js and npm,然后使用npm install -g typescript安装TypeScript SDK
JavaScript: 先安装 Node.js and npm,编译时添加--js-completer
Rust: 先安装Rust,编译时添加--rust-completer
Java: 先安装JDK8,编译时添加--java-completer
全部支持:先安装所有的依赖环境,编译时添加--all

八、解决npm卡在sill idealTree buildDeps的问题

npm config set registry https://registry.npmmirror.com
npm cache clean --force

等我在用的插件都介绍完后,我会贴出我的vimrc的内容,供大家参考,也顺便看看有没有可改进的地方^_^ 

贴图看下效果:

你可以按照以下步骤在 Ubuntu 22.04 上配置 Vim 代码补全插件 coc.vim: 1. 首先,确保你已经安装了 Vim 编辑器。如果没有安装,可以使用以下命令进行安装: ``` sudo apt update sudo apt install vim ``` 2. 安装 Node.js,因为 coc.vim 是基于 Node.js 运行的。你可以使用 NVM(Node Version Manager)来安装和管理 Node.js 版本。按照以下步骤安装 NVM 和 Node.js: - 安装 NVM: ``` curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash source ~/.bashrc ``` - 安装 Node.js: ``` nvm install --lts ``` 3. 确保已经安装了 npm(Node.js 包管理器),你可以使用以下命令来安装 npm: ``` sudo apt update sudo apt install npm ``` 4. 接下来是安装 coc.vim 插件。打开终端,执行以下命令: ``` vim ~/.vimrc ``` 在打开的 `~/.vimrc` 文件中添加以下内容: ``` " coc.vim configuration let g:coc_global_extensions = ['coc-tsserver', 'coc-html', 'coc-css', 'coc-json', 'coc-python'] ``` 5. 保存并退出 `~/.vimrc` 文件,并重新启动 Vim。 6. 在 Vim 中按下 `:` 进入命令行模式,然后输入 `CocInstall coc-tsserver` 安装 TypeScript 服务器(补全 JavaScript、TypeScript)。 对于其他语言的补全插件,你可以使用类似的命令进行安装,如 `CocInstall coc-python` 安装 Python 补全插件。 完成以上步骤后,你就可以在 Vim 中使用 coc.vim 进行代码补全了。请记住,coc.vim 支持多种语言的代码补全,你可以根据自己的需要安装相应的补全插件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值