在 macOS 上优化 Vim 用于开发

简介

这篇指南将带你通过一系列步骤,如何在 macOS 上优化 Vim ,使其具备 代码补全、语法高亮、代码格式化、代码片段管理、目录树等功能。此外,我们还会解决在安装过程中可能遇到的常见错误。


1. 安装必备工具

在开始 Vim 配置之前,我们需要确保你的 macOS 系统中安装了以下工具:

安装 Homebrew(如果未安装)

Homebrew 是 macOS 上的包管理器,它帮助我们安装各种软件包。

bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装 Vim

通过 Homebrew 安装最新版本的 Vim:

bash 复制代码
brew install vim

安装其他依赖工具

我们还需要安装一些额外的工具,例如 Node.js 和 npm (用于插件 coc.nvimprettier),以及其他必要工具:

bash 复制代码
brew install node
brew install dos2unix
brew install fzf

2. 安装插件管理器 - vim-plug

我们将使用 vim-plug 来管理 Vim 插件。通过以下命令来安装 vim-plug 插件管理器:

bash 复制代码
curl -fLo ~/.vim/autoload/plug.vim --create-dirs     https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

3. 配置 ~/.vimrc 文件

使用 Vim 打开配置文件:

bash 复制代码
vim ~/.vimrc

然后,粘贴以下配置到 ~/.vimrc

vim 复制代码
" 🔹 自动安装 vim-plug(如果未安装)
if empty(glob('~/.vim/autoload/plug.vim'))
  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  autocmd VimEnter * PlugInstall | source $MYVIMRC
endif

" 📌 基础配置
set number             " 显示行号
set relativenumber     " 相对行号
set cursorline         " 高亮当前行
set mouse=a            " 允许鼠标操作
set clipboard=unnamedplus  " 复制同步到系统剪贴板

" 📝 代码缩进
set tabstop=4
set shiftwidth=4
set expandtab          " 用空格替代 Tab
set autoindent
set smartindent

" 🔍 搜索优化
set ignorecase         " 忽略大小写
set smartcase          " 智能区分大小写
set incsearch          " 增量搜索
set hlsearch           " 高亮搜索结果

" 🚀 启动优化
set lazyredraw         " 需要时才重绘,提高性能
set updatetime=300     " 降低 CursorHold 触发时间

" 🔗 启用文件类型检测 & 插件支持
filetype plugin indent on

" 📌 插件管理
call plug#begin('~/.vim/plugged')

" 代码补全 & 语法检查(必装)
Plug 'neoclide/coc.nvim', {'branch': 'release'}

" 语法解析 & 高亮(推荐)
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}

" 代码片段
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'

" 代码格式化(Python & JS)
Plug 'psf/black', { 'for': 'python' }
Plug 'prettier/vim-prettier', { 'do': 'npm install' }

" 目录树(文件管理)
Plug 'preservim/nerdtree'

" 状态栏美化(更清晰的状态栏)
Plug 'vim-airline/vim-airline'

call plug#end()

" 🚀 绑定快捷键
nnoremap <leader>n :NERDTreeToggle<CR>  " <leader>n 打开/关闭目录树
nnoremap <leader>f :Files<CR>  " <leader>f 搜索文件(需要 fzf)

" 代码补全(Coc.nvim)
inoremap <silent><expr> <TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
nnoremap <silent> gd <Plug>(coc-definition)  " 跳转到定义
nnoremap <silent> K :call CocActionAsync('doHover')<CR>  " 显示文档
nnoremap <leader>f :CocFix<CR>  " 自动修复代码

" 代码格式化
nnoremap <leader>b :Black<CR>  " Python 代码格式化
nnoremap <leader>p :Prettier<CR>  " JS/TS/HTML 代码格式化

保存并退出:

vim 复制代码
:wq

4. 安装插件

打开 Vim 后,运行以下命令安装所有插件:

vim 复制代码
:PlugInstall

5. 安装 LSP(Coc.nvim)

安装需要的语言服务器,如 Python、C/C++、JavaScript

vim 复制代码
:CocInstall coc-python coc-clangd coc-tsserver

6. 目录树(NERDTree)

使用快捷键打开或关闭 目录树

vim 复制代码
<leader>n

(如果 leader\,那么 \n 将打开/关闭 NERDTree。)


7. 代码格式化(Prettier & Black)

vim 复制代码
\b  " 格式化 Python 代码
\p  " 格式化 JS/TS/HTML 代码

8. 语法解析 + 代码高亮(nvim-treesitter)

安装语法解析器(Python、JavaScript、C/C++ 等):

vim 复制代码
:TSInstall python javascript c cpp html css json

然后在 ~/.vimrc 文件中添加:

vim 复制代码
lua << EOF
require'nvim-treesitter.configs'.setup {
  ensure_installed = "all",
  highlight = { enable = true },
  indent = { enable = true },
}
EOF

9. 终极优化

通过以下快捷键更快速地切换窗口:

vim 复制代码
nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k

常见错误及解决方案

错误 1: vim-prettier Exit 状态 1

问题: vim-prettier 更新失败,出现 Exit status: 1

解决方案: 运行以下命令来解决依赖问题:

bash 复制代码
cd ~/.vim/plugged/vim-prettier
npm install --legacy-peer-deps

如果还是失败,强制安装:

bash 复制代码
npm install --force

然后返回 Vim,运行:

vim 复制代码
:PlugUpdate

错误 2: TSUpdate 不是编辑器命令

问题: 安装 nvim-treesitter 时出现 E492: Not an editor command: TSUpdate

解决方案: 这是因为 Neovim 是必须的,Vim 不支持 nvim-treesitter。你可以安装 Neovim

bash 复制代码
brew install neovim

然后使用 Neovim (nvim 而非 vim) 打开配置文件并运行:

vim 复制代码
:TSInstall python javascript c cpp html css json

如果不想使用 Neovim,可以从 ~/.vimrc 删除 nvim-treesitter 插件,然后重新运行:

vim 复制代码
:PlugClean
:PlugInstall

总结

通过上述步骤,你的 macOS 上的 Vim 已经优化完成,具备了:

  • 代码补全(Coc.nvim)
  • 语法高亮(nvim-treesitter)
  • 代码格式化(Prettier 和 Black)
  • 代码片段管理(UltiSnips)
  • 目录管理(NERDTree)
  • 状态栏美化(Airline)

现在你可以享受一个 强大的 Vim 开发环境!🚀

相关推荐
杜子腾dd28 分钟前
16.使用读写包操作Excel文件:XlsxWriter 包
大数据·开发语言·python·excel·pandas
print('name')43 分钟前
将景区天气数据存储到Excel文件中
开发语言·数据结构·python·pycharm·excel·visual studio code
KyollBM1 小时前
数学——A. K-divisible Sum + D. Exam in MAC
c++·算法·macos
帅次2 小时前
Flutter FloatingActionButton 从核心用法到高级定制
android·flutter·macos·ios·kotlin·android-studio
想做富婆2 小时前
数据开发岗笔试题>>sql(hive) ,excel [2025]
sql·excel
西西小飞龙6 小时前
Vim 编辑器复制文件所有内容
linux·编辑器·vim
甜可儿6 小时前
2min搞定~Mac Pro 编译安装 Nginx 1.8.1
运维·nginx·macos
1024小神6 小时前
mac利用“自动操作”扩展添加 Mac 访达右键菜单项
macos
禾川兴 1324240068815 小时前
国产芯片替代方案:解析沁恒以太网控制器芯片,内置MAC地址
单片机·嵌入式硬件·macos·桥接模式