- 首页 >
- 问答 >
-
智能运维 >
- Linux Notepad:如何用Vim进行高效编辑
Linux Notepad:如何用Vim进行高效编辑
小樊
34
2025-11-15 07:36:31
高效使用 Vim 的实用指南
一 快速上手与模式切换
- 打开与定位
- 打开文件:vim 文件名
- 打开并跳到第 N 行:vim +N 文件名
- 打开并高亮首个关键字:vim +/关键字 文件名
- 三种核心模式
- 普通模式(默认):移动、复制、粘贴、删除等
- 插入模式:输入文本(从普通模式按 i/I/a/A/o/O 进入)
- 末行模式:保存、退出、搜索替换(普通模式按 : 进入)
- 模式切换要点
- 从插入/可视/末行切回普通模式:按 Esc
- 末行模式执行命令后回普通模式:按 Esc 或删除末行内容
- 无法从插入模式直接到末行模式,需先回普通模式再按 :
二 高效移动与编辑
- 快速移动
- 文件首尾:gg(首行)、G(末行)
- 指定行:行号G 或 :行号
- 翻页:Ctrl+f(下)、Ctrl+b(上)、Ctrl+d(下半屏)、Ctrl+u(上半屏)
- 行内定位:0(行首)、^(首个非空)、$(行尾)
- 按词移动:w(下一个词)、b(上一个词)
- 字符级跳转:fx(到下一个字符 x)、Fx(到上一个 x)、tx(到 x 前)、; 重复上次 f/F/t/T
- 屏幕行移动:在很长的“虚拟行”中,用 gj/gk 按屏幕行上下移动
- 编辑与删除
- 基本:x(删字符)、dd(删行并进入剪贴板)、dw(删到词首)、D(删到行尾)
- 复制粘贴:yy(复制行)、3yy(复制 3 行)、p(光标后粘贴)、P(光标前粘贴)
- 撤销重做:u(撤销)、Ctrl+r(重做)
- 进入插入的更优选择
- I/A(行首/行尾插入)、o/O(下/上新起一行)
- c{motion}:删除并进入插入(如 c$、ct!)
- d{motion}:删除但不进入插入(如 d$、dt!)
- 重复与文本对象
- 重复上次 f/t/F/T:按 ;
- 结合文本对象更高效(如 ci"、da(,进阶用法可逐步掌握)
三 搜索替换与可视操作
- 搜索
- 向前搜索:/关键字,向后:?关键字
- 下一个/上一个:n / N
- 替换
- 区间替换::1,5s/旧/新/g(第 1–5 行全局替换)
- 全文替换::%s/旧/新/g
- 交互确认::%s/旧/新/gc
- 可视模式
- v(字符)、V(行)、Ctrl+v(块)
- 块操作示例:批量注释——Ctrl+v 选中列 → I(输入 #)→ Esc;批量删除——选中后 d;批量替换——选中后 r 输入新字符
四 配置、多文件与故障处理
- 个性化配置
- 临时:set nu(行号)、set ic(忽略大小写)、syntax on(语法高亮)
- 永久:写入 ~/.vimrc(个人)或 /etc/vimrc(全局)
- 多文件与分屏
- 打开多个文件:vim 文件1 文件2
- 分屏:split(横向)、vsplit(纵向);切换:Ctrl+ww
- 只读与恢复
- 只读打开:vim -R 文件;更强只读:vim -M 文件
- 恢复异常退出:vim -r 文件;或删除交换文件 .文件名.swp
- 异常退出提示界面
- 保存退出小技巧
- :wq(保存并退出)、:q!(强制退出不保存)
- :x 与 :wq:文件未修改时 :x 不更新修改时间,:wq 会更新;已修改时两者等效
五 新手常见误区与高效习惯
- 尽量停留在普通模式,把插入模式当作“临时输入”,多用 h/j/k/l 与 w/b/0/$/fx 等“移动 + 动作”组合完成编辑
- 用 c{motion}/d{motion} 替代先删除再插入;用 **. **重复上次修改;用 ; 重复字符搜索
- 处理长行文本时用 gj/gk 按屏幕行移动,避免“跳过头”
- 批量编辑优先用可视块(如注释、列编辑),比逐行修改更快更稳