让Vim变得好看、顺手一些
进行了YCM + Airline的配置
前言
我有从Arch Linux & Hyprland用回来macOS。
这边的预装Vim过于老旧,还没有vimrc,导致它是一个没有缩进、没有语法高亮,类似Debian系Vim的vi模式。
我在Arch那边有好好配置Vim,所以要对macOS这边也进行同步了,但是这边就会比Linux上繁琐一些,也是没办法的……
插件管理器 Vundle
Project Repo link
我们需要使用Vundle来安装插件,所以先
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim然后把如下的内容加入~/.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()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required这里不要直接复制原仓库的README!那里后边的内容都是示例
然后打开vim,输入:PluginInstall,Vundle就安装了
自动补全 YouCompleteMe
Project Repo Link
你可能注意到,仓库README里写了YCM需要vim构建为有Python 3支持的,但是macOS随附的vim是不带的,所以要再装一个。
YCM的补全功能并非是用脚本实现的,也不是预编译的,所以需要自己构建,要求cmake和启用的语言支持的相关依赖。
brew install vim cmake之后可以安装YCM文件了,打开~/.vimrc,在Plugin 'VundleVim/Vundle.vim'下方加入
Plugin 'ycm-core/YouCompleteMe'之后退出vim,再启动,输入:PluginInstall
现在可以构建YCM了,切到YCM的目录
cd ~/.vim/bundle/YouCompleteMeYCM的构建脚本,语言支持参数通常都是--xxx-completer格式,详情参见原仓库的README,并按需求使用
TL;DR
这样的话,大家已经在xcode-select那一步安装了足够的工具,现在Mac上有clangd来支持C family的语言补全了
按需启用功能,这是列表
- Rust
--rust-completerrequirerust-analyzer - C/C++
--clangd-completerrequireclangd - Go
--go-completerrequiregolang - JS/TS
--ts-completerrequirenodejs
etc..
之后加上相关参数,进行构建,比如启用C/C++ Rust JS/TS的
./install.py --clangd-completer --rust-completer --ts-completer也可以直接全开,不过我没有试过
./install.py --all下横栏 Airline
Project Repo Link
这是一个信息栏,可以显示当前模式、文件名、文件格式、编码、还有词数、位置等等
打开~/.vimrc,在Plugin 'ycm-core/YouCompleteMe'下方加入
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'之后退出vim,再启动,输入:PluginInstall,这次是安装Airline和它的theme
Airline中的部分主题、模式,可能需要nerd字体才能正常显示。我是用的是Meslo Nerd,可以通过brew install font-meslo-lg-nerd-font来安装。
Vim 后续设置
我们统一一下主题,给vim的colorscheme换成catppuccin
打开~/.vimrc,在Plugin 'vim-airline/vim-airline-themes'下方加入
Plugin 'catppuccin/nvim'在这之后,因为macOS上的vimrc是空壳……所以我们只好自己开启一些功能
" Enable syntax highlighting
syntax on
" Enable line number
set number
" Set shiftwidth and tab to 4 spaces
set sw=4
set ts=4
" Let search jump to the first match when typing
set incsearch
colorscheme catppuccin
let g:airline_theme='catppuccin'这样就配置完成了。
后言
放假了,假期很长
这是我这一学期发的第一篇blog,总是感觉没什么写的
前几天折腾ZFS+Arch+Hyprland,好像有很多东西,但是却又感觉文本太长,也无法确实记录
最终只是一小部分,在Arch折腾完之后又回来macOS搞,最终得以记录
想找回之前的热情,尽量找回吧