sudo: vim:找不到命令_CentOS 7.5 配置Vim代码提示coc-nvim

abda7d719da41732a1279cf20823e09e.png

序言

代码提示插件coc-nvim 环境要求:

  • neovim >= 0.3.2 or vim >= 8.0.1453
  • node >= 10.12

说明:

  • CentOS 7.5系统默认安装vim版本为7.4,需要升级;
  • vim插件管理器使用vim-plug
  • 本文只配置了C/C++PythonJSON提示,其他可自行配置;
  • 以下命令为所有用户安装vim插件,需使用root权限执行;

1. 升级Vim

编译安装

# 卸载当前vim
rpm -qa | grep vim
# 卸载上步中的所有vim相关包
rpm -e --nodeps vim-common vim-enhanced vim-minimal  vim-filesystem

# 获取vim 8.2源码
wget https://ftp.nluug.nl/pub/vim/unix/vim-8.2.tar.bz2
#解压文件
tar -xjvf vim-8.2.tar.bz2
cd vim82/

# --prefix 指定安装位置
# 指定/usr会安装到/usr/share
./configure --prefix=/usr

# 报错
no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
      You need to install a terminal library; for example ncurses.
      Or specify the name of the library with --with-tlib.

# 解决
yum install -y ncurses-devel
# 继续
./configure --prefix=/usr
# 编译,大概2分钟
make
# 安装
make install
# 查看版本 8.2
vim --version

其他相关命令

# 若上一步出现问题需要重新安装可使用以下命令
# 清除上次的make命令所产生的文件
make clean

# 清除之前make与configure生成的文件
make distclean

2. 安装Vim插件管理器-Plug

wget https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

# 若vimfiles下没有autoload文件夹则创建
mv plug.vim /usr/share/vim/vimfiles/autoload/

3. 安装node

若已经安装node,且版本大于10.12,跳过此步。

curl -sL install-node.now.sh/lts | bash

# 如果安装后sudo下找不到node,则执行以下命令
# 若直接使用root用户,而非sudo执行请忽略
sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/npx /usr/bin/npx

4. 配置Vim

将以下内容复制到 /usr/share/vim/vimrc 里,如没有该文件则创建。修改后配置文件后,再次进入vim执行输入:PlugInstall,然后按回车键,即执行PlugInstall命令,执行后vim会根据配置文件安装指定的插件。以下配置文件制定了两款插件:

  • vim-airlime: vim状态栏增强插件
  • coc.nvim: vim代码提示插件

coc代码提示通过安装扩展实现,以下配置添加了coc-json,coc-pairs,coc-clangd,coc-python 四款coc提示插件,其中coc-pairs为括号、引号补全。

"plug begin
call plug#begin('/usr/share/vim/vimfiles/myPlugin/')
Plug 'vim-airline/vim-airline'
Plug 'neoclide/coc.nvim'
let g:coc_global_extensions = ['coc-json', 'coc-pairs', 'coc-clangd', 'coc-python']
autocmd FileType cpp let b:coc_pairs_disabled = ['<']
call plug#end()
"plug end

set nocompatible
set nu
set cursorline
set hls
set tabstop=4
set shiftwidth=4
set smartindent
set wrap

set hidden

set nobackup
set nowritebackup

set updatetime=300

inoremap <silent><expr> <TAB>
       pumvisible() ? "<C-n>" :
       <SID>check_back_space() ? "<TAB>" :
       coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "<C-p>" : "<C-h>"

function! s:check_back_space() abort
    let col = col('.') - 1
    return !col || getline('.')[col - 1]  =~# 's'
endfunction

if has('nvim')
    inoremap <silent><expr> <c-space> coc#refresh()
else
    inoremap <silent><expr> <c-@> coc#refresh()
endif


inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm()
      : "<C-g>u<CR><c-r>=coc#on_enter()<CR>"

5. 配置coc-nvim

进入vim,在命令模式中执行CocConfig,并在配置文件中加入以下配置,保存。该配置作用是关闭jedi语言服务器,使用微软LanguageServer作为语言服务器,保存后vim会下载微软语言服务器。

{
    "python.jediEnabled": false
}

使用vim打开python文件测试代码提示。如果在python文件中代码提示无效,很可能Microsoft.Python.LanguageServer没有运行起来,通过以下方法查找问题并解决。

# 进入用户目录
cd
# 直接执行
.config/coc/extensions/coc-python-data/languageServer.0.2.31/Microsoft.Python.LanguageServer

# 报错
Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
# 解决
yum install -y libicu

# 再次运行,正常运行即可
.config/coc/extensions/coc-python-data/languageServer.0.2.31/Microsoft.Python.LanguageServer

6. 安装Clangd(C/C++语言服务器)

coc-nvim插件基于语言服务器协议(Language Server Protocol,LSP)提供代码提示,所系需要安装对应的语言服务器。

# 从github下载Clangd
wget https://github.com/clangd/clangd/releases/download/11.0.0/clangd-linux-11.0.0.zip
# 解压文件
unzip clangd-linux-11.0.0.zip
mv clangd_11.0.0/ /usr/share/
# 创建软连接
ln -s /usr/share/clangd_11.0.0/bin/clangd /usr/bin/clangd
clangd

# 报错
clangd: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by clangd)

#解决
wget http://mirrors.ustc.edu.cn/gnu/libc/glibc-2.18.tar.gz
tar -zxvf glibc-2.18.tar.gz
cd glibc-2.18/
mkdir build
cd build
../configure --prefix=/usr
# 编译大概5分钟
make -j4
# 安装大概2分钟
sudo make install

结束

配置文件参考coc-nvim官方文档,若要添加其他语言代码提示 ,需要安装对应语言的coc插件,参考官方文档即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值