vim新手入门配置

  1. 使用vim ~/.vimrc创建并打开新文件

复制一下内容:

bash 复制代码
" ========== 1. 基础界面设置 ==========
set nocompatible              " 禁用 vi 兼容模式,开启 Vim 增强功能
filetype plugin indent on     " 开启文件类型检测、插件加载和智能缩进
syntax on                     " 开启语法高亮
set number                    " 显示绝对行号
set relativenumber            " 显示相对行号(跳转代码更方便)
set cursorline                " 高亮当前光标所在行
set ruler                     " 右下角显示光标位置(行号、列号)
set showmode                  " 左下角显示当前模式(INSERT/VISUAL)
set showcmd                   " 显示未完成的命令(比如输入的快捷键)
set laststatus=2              " 始终显示状态栏
set cmdheight=1               " 命令行高度,减少占用空间
set t_Co=256                  " 开启 256 色支持,适配终端主题
set bg=dark                   " 适配深色终端背景

" ========== 2. 编码与中文支持(解决乱码) ==========
set encoding=utf-8            " Vim 内部使用 UTF-8 编码
set termencoding=utf-8        " 终端编码使用 UTF-8
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,latin1  " 打开文件时的编码优先级
set ambiwidth=double          " 解决中文符号宽度错乱问题

" ========== 3. 缩进与制表符(代码编辑核心) ==========
set tabstop=4                 " Tab 键显示为 4 个空格宽度
set softtabstop=4             " 插入模式下按 Tab/退格键的缩进宽度
set shiftwidth=4              " 自动缩进、>> << 缩进的宽度
set expandtab                 " 将 Tab 自动转换为空格(避免不同环境缩进错乱)
set autoindent                " 自动继承上一行的缩进
set smartindent               " 智能缩进(适配代码语法)
set cindent                   " C/C++ 风格的精准自动缩进

" ========== 4. 搜索优化 ==========
set hlsearch                  " 高亮搜索结果
set incsearch                 " 增量搜索(输入时实时匹配)
set ignorecase                " 搜索时忽略大小写
set smartcase                 " 智能大小写:搜索词含大写时,自动切换为严格匹配
set nowrapscan                " 搜索到文件末尾后不循环回头部

" ========== 5. 编辑体验优化 ==========
set mouse=a                   " 全模式开启鼠标支持(终端里也能点击跳转光标)
set backspace=indent,eol,start  " 退格键可删除缩进、换行、开头字符
set scrolloff=5               " 光标上下保留 5 行上下文,避免贴边滚动
set sidescrolloff=10          " 光标左右保留 10 列上下文
set wrap!                     " 关闭长行自动折行
set linebreak                 " 折行时在单词边界断开,不拆分单词
set whichwrap+=<,>,h,l       " 允许光标在行首/行尾用方向键跨行
set noerrorbells              " 关闭错误提示音
set vb t_vb=                  " 关闭视觉响铃,避免闪屏
set timeoutlen=300            " 快捷键响应超时时间(单位ms)
set ttimeoutlen=50            " 终端按键序列超时时间

" ========== 6. 备份与撤销优化 ==========
set nobackup                  " 关闭自动备份(不生成 filename~ 文件)
set nowritebackup             " 写入文件时不生成临时备份
set noswapfile                " 关闭 swap 交换文件(避免目录生成 .filename.swp)
set undofile                  " 开启持久化撤销(关闭文件再打开,仍能撤销之前的操作)
set undodir=~/.vim/undodir    " 统一存放撤销文件
set viminfo='100,<500,s10,h,!  " 限制历史记录大小,提升启动速度

" ====================== 新增:系统剪贴板 + Ctrl+C/V 复制粘贴(核心) ======================
set clipboard=unnamedplus     " 绑定 Vim 剪贴板 = 系统剪贴板(跨软件复制粘贴)
" 可视模式(选中文字):Ctrl+C 复制到系统剪贴板
vnoremap <C-c> "+y
" 普通模式:Ctrl+V 粘贴系统剪贴板内容
nnoremap <C-v> "+p
" 插入模式:Ctrl+V 直接粘贴(不用切模式)
inoremap <C-v> <ESC>"+pa
" 全选快捷键(Ctrl+A)保留
nnoremap <C-a> ggVG

" ========== 7. 实用快捷键映射 ==========
" 快速保存:Ctrl+s
nnoremap <C-s> :w<CR>
inoremap <C-s> <ESC>:w<CR>a

" 快速退出插入模式:jk(不用按远的 ESC 键)
inoremap jk <ESC>
inoremap kj <ESC>

" 快速打开/关闭行号
nnoremap <F2> :set nu! nu?<CR>

" 粘贴模式切换(解决粘贴代码时缩进错乱)
nnoremap <F3> :set paste! paste?<CR>

" 括号自动补全
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap < <><ESC>i

保存后退出。

运行命令:sudo apt update && sudo apt install vim-gtk3 -y

这个配置的功能:

  • 鼠标

    • 点击任意位置跳转光标

    • 滚轮上下滚动代码

    • 拖拽鼠标选中文字(和 VSCode 一样)

  • Ctrl+C / Ctrl+V

    • 鼠标选中文字 → Ctrl+C 复制

    • 任意位置 → Ctrl+V 粘贴

    • 插入模式 / 普通模式都能用

  • 额外快捷键

    • Ctrl+A 全选

    • Ctrl+S 保存

  1. vim常见命令:

Vim 核心命令(新手必备)

Vim 有 3 种核心模式,所有操作都基于模式切换:

  • 普通模式:默认模式,执行命令、复制粘贴、移动光标

  • 插入模式:编辑文字(输入内容)

  • 命令行模式:保存、退出、搜索、替换


一、模式切换(最基础!必背)

  1. 普通模式 → 插入模式(开始打字)

    • i:在光标前插入(最常用)

    • a:在光标后插入

    • o:在当前行下方新建一行

  2. 插入模式 → 普通模式

    • ESC 键(或你配置的 jk / kj,快速退出)
  3. 普通模式 → 命令行模式

    • 输入 : 即可

二、光标移动(鼠标 + 命令双支持)

你的配置已开启鼠标,可以直接点击 / 滚轮;纯键盘操作:

  • 上下左右:↑ ↓ ← →

  • 快速跳行:gg(第一行)、G(最后一行)

  • 行首 / 行尾:0(行首)、$(行尾)


三、编辑操作(删除 / 撤销 / 重做)

  1. 删除(普通模式下)
  • x:删除光标所在字符

  • dd:删除整行

  • dw:删除一个单词

  1. 撤销 / 重做(救命快捷键)
  • u:撤销上一步操作

  • Ctrl + r:重做(撤销后反悔)


四、复制 / 粘贴 / 剪切(支持系统剪贴板)

结合你配置的 Ctrl+C/V,两种方式都能用:

方式 1:系统通用(推荐新手)

  • 鼠标选中文字 → Ctrl+C 复制

  • 任意模式 → Ctrl+V 粘贴

  • Ctrl+A:全选

方式 2:Vim 原生命令

  • yy:复制当前行

  • p:粘贴到光标下方

  • dd:剪切当前行


五、搜索与替换

  1. 搜索(普通模式)
  • /关键词:向下搜索(例:/test

  • n:下一个匹配结果

  • N:上一个匹配结果

  1. 替换(命令行模式)
  • :s/旧词/新词:替换当前行第一个匹配项

  • :%s/旧词/新词/g:替换整个文件所有匹配项(最常用)


六、保存 / 退出(命令行模式,输入 : 执行)

  • :w:保存(也可以用你配置的 Ctrl+S

  • :q:退出

  • :wq:保存并退出

  • :q!:强制退出(不保存修改)


七、你专属配置的快捷键(重点!)

这是我给你优化的快捷操作,比原生命令更顺手:

  1. Ctrl+S:快速保存(全模式可用)

  2. F2:打开 / 关闭行号

  3. F3:粘贴模式(粘贴代码不混乱)

  4. jk / kj:快速退出插入模式(不用按 ESC)

  5. Ctrl+A:全选文本


八、实用小命令

  • :set nu:临时显示行号

  • :set nonu:临时关闭行号

  • >>:整行向右缩进

  • <<:整行向左缩进


极简速记(新手只记这 8 个)

  1. i → 打字

  2. ESC/jk → 停止打字

  3. dd → 删除行

  4. yy → 复制行

  5. p → 粘贴

  6. u → 撤销

  7. Ctrl+C/V → 系统复制粘贴

  8. :wq → 保存退出

相关推荐
容智信息3 小时前
不写SQL,不拉Excel:数据分析用“问”的
数据库·人工智能·笔记·数据分析·excel·知识图谱·知识库
Non-existent98719 小时前
TableGIS的WPS扩展项插件-通信网优规划相关地理空间数据处理
数据分析·excel·wps
古怪今人21 小时前
Windows系统+VSCode 开发Python和Java项目 AI代码编辑器Trae插件安装
ide·vscode·编辑器
普通young man21 小时前
vim常用编辑和视图(个人笔记)
笔记·编辑器·vim
mascon1 天前
Unity 编辑器扩展
unity·编辑器·游戏引擎
开开心心就好2 天前
一键扫描电脑重复文件的实用工具
linux·运维·服务器·随机森林·智能手机·excel·启发式算法
ModestCoder_2 天前
Git 忽略所有 `.xlsx`,但保留指定 Excel 文件的方法
git·excel
Eric.Lee20212 天前
vscode格式化代码
ide·vscode·编辑器·c++格式化
【 STM32开发 】2 天前
VSCode 安装图解
ide·vscode·编辑器