当前位置: 代码迷 >> 综合 >> Manjaro 安装 Vim 并配置
  详细解决方案

Manjaro 安装 Vim 并配置

热度:104   发布时间:2023-11-03 12:19:36.0

系统版本:Manjaro 20.0.3 Lysia
桌面环境:Gnome

(我的是 Manjaro 系统,安装命令跟 Ubuntu 不一样,Ubuntu 安装命令只用将下面的 pacman -Sy 换成 apt install 就可以了)。


需要先安装 vim、git、gcc、python3

sudo pacman -Sy vim git gcc

强烈推荐这个超级好用的 Github 上配置好的 vim 插件环境:chxuan/vimplus,安装步骤:

git clone https://github.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh

没错已经安装完了~(如果运行 vim 提示错误,试试 sudo ./install.sh 安装一下。但不建议直接这样做,因为其中有些安装的东西路径可能会因此发生改变进而也出现错误。因为有些插件加了 sudo 和不加 sudo 安装的路径是不一样的!)

安装语法提示插件(Ubuntu 上没有这个安装包,可以不安装,下面还有安装)

sudo pacman -S vim-youcompleteme-git

下载 vim 插件管理器:Vundle

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

安装后使用 vim 时可能会提示某某行出现错误,如:

处理 /home/z/.vim/plugged/vim-textobj-function/plugin/textobj/function.vim 时发生错误:
第   32 行:
E117: 未定义的函数: textobj#user#plugin
处理 /home/z/.vim/plugged/vim-textobj-parameter/plugin/textobj/parameter.vim 时发生错误:
第   38 行:
E117: 未定义的函数: textobj#user#plugin
请按 ENTER 或其它命令继续

试试 将 .vim 文件夹下 plugged 中的插件权限更改一下:

cd ~/.vim/plugged
chmod 664 *

可能会有由于网络原因有些东西或插件没有下载成功,与 github 网络连接的原因,我这里也是经常断断续续连不上 github,重新运行 install.sh 脚本安装一下试试。 可参考此文章:vim-plug安装插件时,频繁更新失败,或报端口443被拒绝等 设置镜像地址。
错误类似如下:
在这里插入图片描述
上图这种情况就是网络问题。也可以直接复制上述无法访问的插件使用 git 克隆下载到 ~/.vim/plugged 文件下。例如我上面的一个网络问题没有下载成功的插件,这个安装插件就是把 github 项目文件夹放到了 plugged 文件夹下就是安装了插件了。

cd ~/.vim/plugged
git clone https://github.com/Lokaltog/vim-powerline.git 

为了解决有些人可能总是在 vim 内部进行安装不成功,下面把 git 下载链接放下以便在外部 git clone 下载

git clone git@github.com:Shougo/echodoc.vim.git
git clone git@github.com:chxuan/vim-buffer.git
git clone git@github.com:junegunn/gv.vim.git
git clone git@github.com:ryanoasis/vim-devicons.git
git clone git@github.com:chxuan/prepare-code.git
git clone git@github.com:kana/vim-textobj-user.git
git clone git@github.com:kana/vim-textobj-indent.git
git clone git@github.com:chxuan/vimplus-startify.git
git clone git@github.com:kana/vim-textobj-function.git
git clone git@github.com:chxuan/cpp-mode.git
git clone git@github.com:terryma/vim-smooth-scroll.git
git clone git@github.com:junegunn/vim-slash.git
git clone git@github.com:tpope/vim-repeat.git
git clone git@github.com:tiagofumo/vim-nerdtree-syntax-highlight.git
git clone git@github.com:octol/vim-cpp-enhanced-highlight.git
git clone git@github.com:preservim/tagbar.git
git clone git@github.com:tpope/vim-commentary.git
git clone git@github.com:preservim/nerdtree.git
git clone git@github.com:tpope/vim-endwise.git
git clone git@github.com:tpope/vim-fugitive.git
git clone git@github.com:vim-scripts/indentpython.vim.git
git clone git@github.com:mileszs/ack.vim.git
git clone git@github.com:vim-airline/vim-airline-themes.git
git clone git@github.com:chxuan/change-colorscheme.git
git clone git@github.com:jiangmiao/auto-pairs.git
git clone git@github.com:tpope/vim-surround.git
git clone git@github.com:haya14busa/incsearch.vim.git
git clone git@github.com:vim-airline/vim-airline.git
git clone git@github.com:sgur/vim-textobj-parameter.git
git clone git@github.com:easymotion/vim-easymotion.git
git clone git@github.com:Yggdroot/LeaderF.git
git clone git@github.com:rhysd/clever-f.vim.git

开始修改 vim 的配置文件:~/.vimrc

vim ~/.vimrc

进入 .vimrc 之后按 : 输入 170 ,按下 回车,跳转到第170行。

之后按下 i 键进行 插入 操作,将如下内容粘贴到里面(最好上下留有空行,方便浏览),这一步骤是为了让 vim 支持 vundle,并安装一些插件,下面的 Plugin 'zxqfl/tabnine-vim' 这一行,是一个机器学习的语法补全插件,这个插件安装需要几十分钟时间,如果你不想安装这个,可以把这一行去掉。

" Vundler (set the runtime path to include Vundle and initialize)
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'mzlogin/vim-markdown-toc'
Plugin 'zxqfl/tabnine-vim'
call vundle#end()            " required

按下 ESC 键,输入 :wq,保存并退出。

终端中输入 vim 进入 vim 中,输入 :PluginInstall 开始安装插件
(总共下载的文件比较大,因为 tabnine (一个机器学习的语法提示神器)比较大,需要等待一段时间,我下载了几十分钟才下载完)。

进入 YouCompleteMe 文件夹,开始安装 YouCmopleteMe

cd ~/.vim/plugged/YouCompleteMe
git submodule update --init --recursive
python3 ./install.py -all

安装 Java 解释器 ,只用在 ./install.sh 后边添加 --java-completer 就可以了,需要先安装 jdk8 (如果想要支持 JavaScript 和 TypeScript,则改为 --ts-completer,详细看下面的安装步骤:ycm-core/YouCompleteMe)

sudo pacman -S jdk8-openjdk
./install.sh --java-completer

开始安装机器学习语法提示神器

# 安装 YouCompleteMe
cd ~/.vim/plugged/YouCompleteMe
./install.sh
# 安装 tabnine
cd ~/.vim/bundle/tabnine-vim/
./install.sh

ok

如果你安装完有乱码,那就把终端的字体设置为 DroidSansMono Nerd Font Book


解决安装 --java-completer 下载速度过慢的问题,下载的时候可以看到有一条下载 jdt.ls 的信息

Downloading jdt.ls from http://download.eclipse.org/jdtls/milestones/0.40.0/jdt-language-server-0.40.0-201906040221.tar.gz...

按下 Ctrl 键不松并点击这个链接,或者复制链接粘贴到浏览器中,把这个压缩文件下载下来,然后进入 YouCompleteMe 插件的文件夹内,里面会有下载缓存位置,比如 Java 是在 YouCompleteMe 目录下的 ./third_party/ycmd/third_party/eclipse.jdt.ls/target/cache 文件夹内,将文件粘贴到里面,重新运行安装命令即可

# 进入这个文件夹内
cd /home/z/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/eclipse.jdt.ls/target/cache
# 将文件粘贴到这个文件夹内
cp ~/Download/jdt-language-server-0.40.0-201906040221.tar.gz ./
# 重新运行安装
cd ~/.vim/plugged/YouCompleteMe
./install.sh --java-completer

相关链接:

  • 可以看一下这篇文章学习如何使用 Vundle:如何在 Linux 上使用 Vundle 管理 Vim 插件

  • 可以按照这个博客的步骤安装:VIM 自动配置(代码补全,代码高亮,符号补全等等)

  • Vim 插件网