Vim/Neovim 的基本配置

发表于 更新于

前言

这是一篇历来被不计其数的人写烂了的话题,即分享自己的 Vim 配置。我曾经也是 Vim 的忠实用户,后来全身心转到 VS Code。所以复杂的配置我不再需要了,最近特意抽空整理出一份最精简的配置。

配置

这份配置的基本思想是在 Vim 和 Noevim 上都可用,启动尽量快,不用插件。通常只用来做一些简单的编辑工作,比如修改配置文件,阅读一般的文本。

同时它包含完整的注释:

" 语法高亮
syntax on
" 显示行号
set number
" 显示光标所在行
set cursorline
" 高亮显示匹配的括号
set showmatch
" 自动读取外部更改
set autoread
" 始终显示状态栏
set laststatus=2
" 显示光标的当前位置
set ruler
" 设置缩进
set expandtab " 使用空格代替制表符
set tabstop=2 " 制表符宽度
set shiftwidth=2 " 缩进宽度
set softtabstop=2 " 退格键宽度
" 命令行补全
set wildmenu
" 搜索时忽略大小写,但在有大写字母时敏感
set ignorecase
set smartcase
" 高亮搜索结果
set hlsearch
" 增量搜索
set incsearch
" 允许在未保存的缓冲区间切换
set hidden
" 使用空格键作为 leader 键
let mapleader=" "
" 快速保存
nnoremap <leader>w :w<CR>
" 快速退出
nnoremap <leader>q :q<CR>
" 启用鼠标
set mouse=a
" 启用基于文件类型的插件和缩进
filetype plugin indent on
" 共享系统剪切板
set clipboard+=unnamedplus

这份配置在我的每一个服务器上都存在。而我的个人电脑上,多了一些插件,如自动保存,恢复文件的上次编辑位置等。但这些插件我不认为是必要的设置。

以上配置在我的 dotfiles 仓库 Hentioe/dotfiles 保持同步。

说明

使用我的配置,Vim 可以做到:

  • 行号、光标位置等基本信息显示
  • 缩进以最短的 2 个空格为基准
  • 搜索时忽略大小写、高亮结果,实时搜索
  • 和系统共享剪切板
  • 快捷键:空格 + w 保存,空格 + q 退出
  • 基本的鼠标支持

以上是经过思考的最简化的配置,从旧有配置中一直做减法提取出来的。

评价

Vim 是非常好的编辑器,我认为任何有编写代码需要的人适当的接触它都是极为有益的。你没必要强迫自己将 Vim 配置成现代化的 IDE,这个过程对于很多人而言可能是一种折磨。如果你真的想全身心的投入 Vim 或 Neovim,请循序渐进的来。

结语

我现在主要使用 VS Code,但我也很怀念曾经使用 Vim/Neovim 的日子。现在来讲,我还是建议新人使用 VS Code,但 Vim 可以适度尝试,尤其是有 Linux 操作需求的人。

作者头像 一点点入门知识 打赏作者
本文由作者按照 CC BY 4.0 进行授权
分享: