Vim配置从0到1:打造专属编辑器

你的Vim,就是你10年编程经验的缩影。

你有没有遇到过这样的场景------

同事的Vim打开,代码高亮绚丽,侧边栏文件树清晰,输入几个字符就弹出智能补全,甚至还能模糊搜索整个项目......而你的Vim打开,只有黑底白字,连行号都没有。

你也想折腾,但打开别人的.vimrc,几百行代码扑面而来,瞬间劝退。

别慌。这篇文章就是为你准备的。

.vimrc 是什么? Vim " 灵魂配置文件 "

.vimrc是Vim的配置文件,存放在你的用户主目录下。

bash

# Linux/macOS

touch ~/.vimrc

# Windows

touch ~/_vimrc

Vim每次启动都会读取这个文件,按照你写的规则来行事。没有**.vimrc** Vim 就像没有调音的吉他 ------ 能响,但不好听。

基础配置项:从 " 能用到好用 "

先别急着抄别人的豪华配置。从这7个最实用的选项开始,5分钟就能让Vim脱胎换骨。

vim

" 基础三件套(必加)

set number " 显示行号

syntax on " 语法高亮

colorscheme desert " 配色主题( desert elflord evening 都可试试)

" 缩进规矩

set tabstop=4 " Tab 键显示为 4 空格

set shiftwidth=4 " 自动缩进宽度

set expandtab " Tab 变成空格

set autoindent " 自动缩进

" 搜索高亮

set hlsearch " 搜索结果高亮

set incsearch " 边输入边搜索

" 状态栏

set laststatus=2 " 始终显示状态栏

set ruler " 右下角显示光标位置

把这十几行放进.vimrc,重启Vim------你会发现它已经像一个"现代编辑器"了。

插件管理器: vim-plug (装插件的 " 应用商店 "

Vim真正的强大来自插件。但手动管理插件太痛苦------下载、更新、卸载都要手动操作。vim-plug 就是 Vim " 应用商店 " ,一行命令装插件,一行命令更新。

安装 vim-plug

bash

# Linux/macOS

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \

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

# Windows PowerShell

iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`

ni $HOME/vimfiles/autoload/plug.vim -Force

使用方式

在.vimrc中加上这一段:

vim

call plug#begin('~/.vim/plugged')

" 在这里写上你想装的插件

Plug 'preservim/nerdtree' " 文件树

Plug 'neoclide/coc.nvim', {'branch': 'release'} " 代码补全

call plug#end()

保存后,重启Vim,执行 :PlugInstall ------ 插件就自动下载好了。

必装插件推荐:让你的 Vim" 武装到牙齿 "

1. nerdtree :文件树导航

告别 :e 路径/文件名 的古老方式,按一个快捷键,左侧弹出文件树,用键盘或鼠标都能浏览。

安装:

vim

Plug 'preservim/nerdtree'

常用操作:

  • :NERDTreeToggle 打开/关闭文件树
  • 绑定快捷键:nnoremap <leader>e :NERDTreeToggle<CR>(<leader>默认是\,可改为空格)

2. coc.nvim :代码补全(堪比 VSCode

这是Vim社区最强的补全插件,支持LSP(语言服务器协议)。装上它,Vim就有了VSCode级别的智能补全、函数跳转、错误提示。

安装:

vim

Plug 'neoclide/coc.nvim', {'branch': 'release'}

需要额外安装语言服务器 (以Python为例):

bash

pip install jedi-language-server

然后在Vim中执行 :CocInstall coc-python

效果: 输入np.会弹出numpy的所有方法;定义过的函数、变量都能补全;还能用gd跳转到定义。

3. fzf.vim :模糊搜索(一秒找到任何文件)

项目里有200个文件?用fzf,输入几个字母,文件秒出。

安装:

vim

Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }

Plug 'junegunn/fzf.vim'

常用命令:

  • :Files 模糊搜索文件名
  • :Rg 搜索文件内容(需要安装ripgrep)
  • :Buffers 切换已打开的文件

绑定快捷键更方便:

vim

nnoremap <C-p> :Files<CR>

nnoremap <C-g> :Rg<CR>

配置示例:一个 " 够用 " 的入门配置

把下面这些内容完整复制到你的.vimrc,你就拥有了一套能打80分的Vim配置:

vim

" ========== 基础设置 ==========

set number

syntax on

colorscheme desert

set tabstop=4

set shiftwidth=4

set expandtab

set autoindent

set hlsearch

set incsearch

set laststatus=2

set ruler

set clipboard=unnamedplus " 使用系统剪贴板( Linux

" set clipboard=unnamed " macOS用这个

" ========== 快捷键 ==========

let mapleader = " " " 把领导键设为空格

nnoremap <leader>w :w<CR> " 空格 +w 保存

nnoremap <leader>q :q<CR> " 空格 +q 退出

nnoremap <leader>e :NERDTreeToggle<CR>

nnoremap <C-p> :Files<CR>

nnoremap <C-g> :Rg<CR>

inoremap jj <Esc> " jj 代替 Esc

" ========== 插件管理 ==========

call plug#begin('~/.vim/plugged')

Plug 'preservim/nerdtree'

Plug 'neoclide/coc.nvim', {'branch': 'release'}

Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }

Plug 'junegunn/fzf.vim'

Plug 'vim-airline/vim-airline' " 美化状态栏(可选)

Plug 'tpope/vim-commentary' " 快速注释(可选)

call plug#end()

保存后重启Vim,执行 :PlugInstall,等插件装完。试试:

  • 按 空格+e 打开文件树
  • 按 Ctrl+p 搜索文件
  • 按 jj 退出插入模式

恭喜你,你已经拥有了一套"让别人想偷"的Vim配置。

常见卡点解决方法

Q: 插件装好了,但 fzf 说找不到命令?
A: 需要额外安装fzf系统工具:git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install

Q: coc.nvim 补全没反应?
A: 先确认语言服务器装了吗?:CocInfo查看状态,:CocInstall coc-json测试json补全是否正常。

Q: 配色看着不舒服?
A: 执行:colorscheme加空格后按Tab,Vim自带多种主题可以试。

Q: 别人的 .vimrc 几百行,我都看不懂?
A: 从上面20行开始,每看懂一行再加一行。配置不是越多越好,每一行你都理解才有意义。

你的 Vim ,就是你 10 年编程经验的缩影

你不是在"配置编辑器",你是在搭建一个陪伴你十年、二十年甚至整个职业生涯的工作环境。

今天加一行set number,下周加一个coc.nvim,下个月优化一下快捷键......慢慢地,这个.vimrc里每一行都是你亲手写下的,你完全理解它的作用,也能随时修改它。

这种掌控感,是开箱即用的IDE给不了你的。

你最喜欢的 Vim 插件是什么?评论区安利给大家! 👇

相关推荐
lqj_本人6 小时前
鸿蒙electron跨端框架PC青简笔记实战:从笔记列表、编辑器到桌面导出,一次做完整
笔记·编辑器
E_ICEBLUE7 小时前
Python 教程:快速复制 Excel 工作表
python·excel
SunnyDays101110 小时前
用Java打造交互式Excel仪表板:切片器的实战应用
java·excel
SunnyDays101110 小时前
Java 实现插入和删除 Excel 行和列
java·python·excel
图像僧11 小时前
没有sudo权限也能安装和使用 VSCode
ide·vscode·编辑器
咬人喵喵11 小时前
E2编辑器里的零高容器是什么?怎么用?
低代码·微信·编辑器·交互·svg
Cloud_Shy61812 小时前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(附录 C 高级 Python 概念)
python·数据分析·excel
开开心心_Every12 小时前
支持自定义名单的实用随机抽签工具
运维·服务器·pdf·电脑·excel·启发式算法·宽度优先
小e说说1 天前
主流活动策划工具特点比较
编辑器