文档首页> 云计算> linux常用命令vim

linux常用命令vim

发布时间:2025-11-01 00:13       

这是一份面向一线工程的 Vim 高效指令速查 + 实战策略。目标:更快打开、精准定位、稳定改动、干净提交。🧰

1)模式与退出(先活着出来)

  • :q —— 退出(无改动)
  • :w —— 保存当前缓冲区
  • :wq / :x —— 保存并退出
  • :q! —— 丢弃改动强退
  • ZZ —— 若有改动则保存并退出,无改动直接退
    说明:Vim 有“普通(Normal)/插入(Insert)/可视(Visual)”等模式;Esc 回普通模式,再执行冒号命令更稳。

2)精准移动(快、准、少回车)

  • 基础:h j k l(左下上右)
  • 单词:w 下个词首、b 上个词首、e 词尾
  • 行内:0 行首、^ 首个非空、$ 行尾
  • 全文:gg 顶部、G 底部、:{行号} 跳行
  • 语法块:% 匹配括号跳转、{/} 段落间跳
  • 查找:/关键字 向下、?关键字 向上、n/N 下/上一个
  • 翻页:Ctrl+d/u 半屏、Ctrl+f/b 全屏
    说明:任意移动前加数字放大步长,如 10j 向下十行。

3)编辑与撤销(少打字,多复用)

  • 进入插入:i 光标前、a 光标后、I 行首、A 行尾、o/O 下/上一行新起
  • 变更:r 替换单字符、R 进入覆盖模式
  • 删除(剪切):x 删字符、dw 删至词尾、dd 删整行
  • 复制粘贴:yy 复制行、y{motion} 按移动复制、p/P 后/前粘贴
  • 撤销/反撤销:u 撤销、Ctrl+r 重做
  • 重复上次操作:.
    说明y/d/c + {motion} 是 Vim 的“动词 + 宾语”模型,配合移动指令一次到位。

4)可视与格式化(结构化动刀)

  • 可视选择:v 字符、V 行、Ctrl+v 列块
  • 缩进:> 右缩、< 左缩、== 自动对齐当前行、=i{ 格式化花括号内
  • 文本折行格式化:选区后 gq
    说明:列块编辑适合对齐日志字段、批量插入注释等。

5)查找与替换(批量改,留确认)

  • 行内替换::s/旧/新/
  • 全文替换::%s/旧/新/g
  • 交互确认::%s/旧/新/gc(c=confirm)
  • 正则:支持 \v 超魔法模式,:%s/\vfoo(\d+)/bar\1/g
    说明:全局替换先加 c 逐条确认,避免误伤生产配置。

6)多文件/多窗口(并行处理,降低上下文切换)

  • 打开文件::e 文件,缓冲列表::ls
  • 缓冲切换::bn/:bp(next/prev)
  • 分屏::sp 水平、:vs 垂直;窗口切换 Ctrl+w h/j/k/l
  • 标签页::tabedit 文件gt/gT 切换
    说明:把“比对 + 修改 + 验证”放入左右分屏,降低认知折返。

7)状态诊断与只读写入(现场常用)

  • 关闭高亮::noh(查找结束后不刺眼)
  • 显示不可见字符::set list(排查多余空格/Tab)
  • 只读文件以 sudo 写回::w !sudo tee %
  • 解决 swap 提示:确认无并发编辑后 :recover 或删除 .swp
    说明tee 写回原路径,% 代表当前文件名。

8)常用配置(最小可用 .vimrc)

set nocompatible          " 关闭兼容模式
syntax on                 " 语法高亮
set number relativenumber " 绝对+相对行号,便于跳转
set expandtab             " 用空格代替Tab
set shiftwidth=2 tabstop=2 softtabstop=2 " 统一缩进宽度
set ignorecase smartcase  " 搜索忽略大小写,含大写时区分
set incsearch hlsearch    " 增量搜索与高亮
set clipboard=unnamedplus " 共享系统剪贴板
set mouse=a               " 开启鼠标(必要时临时关闭::set mouse=)
filetype plugin indent on " 按文件类型加