Linux Vim 文本编辑器基础指南

Linux Vim 文本编辑器基础指南

日期:2026-03-25

标签:Linux, Vim, 编辑器, 命令


一、Vim 三种模式

复制代码
┌─────────────┐     i      ┌─────────────┐     Esc    ┌─────────────┐
│   命令模式   │ ─────────→ │   编辑模式   │ ─────────→ │   命令模式   │
│   (Normal)  │            │   (Insert)  │            │   (Normal)  │
└─────────────┘            └─────────────┘            └──────┬──────┘
       ↑                                                      │
       └──────────────────────────────────────────────────────┘
                            :
                      ┌─────────────┐
                      │   底行模式   │
                      │   (Command) │
                      └─────────────┘

二、模式切换

shift+字符或字母键(最终结果)

操作 命令 说明

命令模式 → 编辑模式 i 在光标前插入(insert) shift+i(I)首行插入

编辑模式 → 命令模式 Esc 退出编辑

命令模式 → 底行模式 shift+;(:) 输入命令

底行模式 → 命令模式 Esc 或 执行完自动返回 -


三、命令模式操作

3.1 光标定位(快速移动)

命令 功能 记忆技巧
gg 定位到文件第一行 good game,回到开头
G (Shift+g) 定位到文件最后一行 大G = 大结尾
nG 跳转到第 n 行 如 46G 跳到46行
$ (Shift+4) 定位到当前行尾 像绳子末端
^ (Shift+6) 定位到当前行首 ^ 像小帽子在行首
w 按单词向后移动 word,下一个单词
b 按单词向前移动 back,回退
hjkl 左下上右移动 h左l右,j跳向下,k王在上

hjkl 记忆法:h 在最左边,l 在最右边;j 像 jump 向下跳;k 像 king(国王)高高在上

3.2 复制粘贴

命令 功能
yy 复制光标所在行
nyy 复制光标所在行及下方 n-1 行(如 5yy 复制5行)
p 粘贴到光标下一行
np 粘贴 n 次

3.3 剪切删除

命令 功能 说明
dd 剪切(删除)当前行 不粘贴就是删除
ndd 剪切 n 行 如 3dd 删除3行
dd + p 真正的剪切 先删再贴,实现剪切
x 删除光标后一个字符
nx 删除光标后 n 个字符

3.4 撤销与恢复

命令 功能
u 撤销(undo)
Ctrl + r 恢复撤销(redo)

3.5 其他实用操作

命令 功能 说明
~ (Shift+) 大小写转换 间断按:单个字符转换;按住不动:整行快速转换 R(Shift+r) 批量化替换 进入替换模式,直接覆盖原有字符 .` 重复上一步操作 非常高效!


四、编辑模式

进入方式:在命令模式按 i

就是正常的文本输入,按 Esc 回到命令模式


五、底行模式(:)

5.1 常用命令

命令 功能
:w 保存(write)
:q 退出(quit)
:wq 或 :x 保存并退出
:q! 强制退出不保存
:set nu 显示行号
:set nonu 关闭行号
:n 跳转到第 n 行(如 :46)
:/关键字 搜索关键字(如 :/hello)

5.2 多文件编辑

命令 功能
:vs 文件名 垂直分屏打开文件(vertical split)
:sp 文件名 水平分屏打开文件(split)
Ctrl + w + w 在窗口间切换
Ctrl + w + h/j/k/l 向左右上下切换窗口

多文件操作:光标在哪个窗口,就操作哪个文件,可以跨文件复制粘贴


六、Vim 配置文件

6.1 配置文件位置

用户 配置文件路径 说明

普通用户 ~/.vimrc 每个用户独立配置

root 用户 /etc/vimrc 或 ~/.vimrc 系统级或用户级

注意:一个用户一个配置,相互不会影响!

6.2 快速创建配置

bash 复制代码
# 普通用户
vim ~/.vimrc

# root 用户
sudo vim /etc/vimrc
# 或
vim ~/.vimrc

6.3 推荐基础配置

vim 复制代码
" 显示行号
set nu

" 语法高亮
syntax on

" 自动缩进
set autoindent
set tabstop=4
set shiftwidth=4

" 启用鼠标
set mouse=a

" 显示当前行
set cursorline

" 搜索高亮
set hlsearch

七、速查表

复制代码
┌─────────────────────────────────────────┐
│              光标移动                    │
├─────────────────────────────────────────┤
│  gg      →  文件开头                     │
│  G       →  文件结尾                     │
│  nG      →  第 n 行                      │
│  $       →  行尾                         │
│  ^       →  行首                         │
│  w/b     →  按单词移动                   │
│  hjkl    →  左下上右                     │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│              编辑操作                    │
├─────────────────────────────────────────┤
│  i       →  进入编辑模式                 │
│  yy      →  复制行                       │
│  p       →  粘贴                         │
│  dd      →  剪切/删除行                  │
│  u       →  撤销                         │
│  Ctrl+r  →  恢复                         │
│  .       →  重复上一步                   │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│              底行命令                    │
├─────────────────────────────────────────┤
│  :w      →  保存                         │
│  :q      →  退出                         │
│  :wq     →  保存退出                     │
│  :q!     →  强制退出                     │
│  :set nu →  显示行号                     │
│  :vs     →  垂直分屏                     │
└─────────────────────────────────────────┘

八、学习建议

  1. 先记住 i、Esc、:wq 三个命令 ------ 能编辑能保存
  2. 熟练 hjkl 移动 ------ 不用方向键是 vim 的灵魂
  3. 掌握 yy、p、dd ------ 高效编辑的核心
  4. 多用 . 重复操作 ------ 提升效率的秘诀

Vim 哲学:保持手指在键盘中央,减少移动,高效编辑!

相关推荐
测试界的小码农3 分钟前
【Linux 命令实战(03):文件创建、复制、移动与删除,掌握 touch、mkdir、cp、mv、rm】
linux·服务器·php
byte轻骑兵34 分钟前
实战 1:修改 BlueZ 源码,添加自定义开机日志
linux·aiot·bluez·电脑蓝牙·嵌入式蓝牙
叼烟扛炮1 小时前
Linux 学习笔记(五十):网络层——IP 协议、子网划分与 NAT 魔法
linux·笔记·学习
叼烟扛炮1 小时前
Linux 学习笔记(六十):单线程的逆袭——epoll 高并发服务器实战
linux·服务器·网络·笔记·学习·算法
AR-26710-1 小时前
Linux Day32——实操五类资源告急排查
linux·运维
skywalk81632 小时前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive
StarsGreen2 小时前
libva中的图像格式说明
linux
H.莓飛2 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
Rabitebla2 小时前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
景煜拾年3 小时前
InnoAI SQL 助手
运维·数据库·笔记·sql