温馨提示×

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
  • 异常退出提示界面
    • 可按 D 删除交换文件并继续编辑
  • 保存退出小技巧
    • :wq(保存并退出)、:q!(强制退出不保存)
    • :x:wq:文件未修改时 :x 不更新修改时间,:wq 会更新;已修改时两者等效

五 新手常见误区与高效习惯

  • 尽量停留在普通模式,把插入模式当作“临时输入”,多用 h/j/k/lw/b/0/$/fx 等“移动 + 动作”组合完成编辑
  • c{motion}/d{motion} 替代先删除再插入;用 **. **重复上次修改;用 ; 重复字符搜索
  • 处理长行文本时用 gj/gk 按屏幕行移动,避免“跳过头”
  • 批量编辑优先用可视块(如注释、列编辑),比逐行修改更快更稳

0