在 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 开发环境!🚀

相关推荐
封奚泽优1 小时前
使用Python绘制金融数据可视化工具
python·信息可视化·excel·pandas·pyplot·qtwidgets·qtcore
“αβ”1 小时前
线程安全的单例模式
linux·服务器·开发语言·c++·单例模式·操作系统·vim
Misnice2 小时前
Mac查看本机ip地址
网络协议·tcp/ip·macos
岁忧15 小时前
macOS配置 GO语言环境
开发语言·macos·golang
木木子999919 小时前
Excel——重复值处理
excel
岁忧1 天前
macOS 安装 Homebrew
macos·homebrew
棒棒AIT1 天前
mac 苹果电脑 Intel 芯片(Mac X86) 安卓虚拟机 Android模拟器 的救命稻草(下载安装指南)
android·游戏·macos·安卓·mac
UrbanJazzerati1 天前
Excel 函数 `SUBSTITUTE` 用法详解:替换文本中的字符
excel
何中应1 天前
EasyExcel使用(二:写出)
java·后端·maven·excel
m0_462185111 天前
VB解除excel保护工作表
excel