- Linux中vi/vim命令大全
vi/vim作为Linux系统中最经典的文本编辑器,凭借其高效性和跨平台特性,成为开发者和运维人员的必备工具。无论是服务器环境还是本地终端,掌握vi/vim的核心命令都能显著提升工作效率。本文将系统梳理vi/vim的基础操作、进阶技巧及实用场景,助您快速成为高效编辑专家。
一、基础操作入门
- 启动与退出
通过终端输入vi 文件名
或vim 文件名
启动编辑器。若需强制退出未保存的文件,使用:q!
;保存并退出则执行:wq
。若文件被其他进程占用,可尝试:w !sudo tee %
强制保存。
- 模式切换
vi/vim分为三种核心模式:
- 命令模式:默认状态,输入方向键移动光标
- 插入模式:按i进入,可输入文本
- 末行模式:输入:后用于文件操作(如保存、搜索)
二、高效编辑技巧
- 光标移动
精准定位光标是高效编辑的关键:
- 移动光标:
h/j/k/l
分别对应左/下/上/右 - 跳转行首尾:
0
(行首)、$
(行尾) - 跳转特定行:
G
(文件末尾)、5G
(第5行) - 快速滚动:
Ctrl+f
(向下翻页)、Ctrl+b
(向上翻页)
- 文本删除与修改
掌握删除操作可大幅提升效率:
- 删除字符:
x
删除光标后字符、dd
删除整行 - 撤销恢复:
u
撤销上次操作、Ctrl+r
重做 - 替换字符:
r
替换当前字符、R
连续覆盖输入
- 复制粘贴
数据迁移的常用方法:
- 复制文本:
y
(yank)+动作(如yy
复制一行) - 粘贴内容:
p
(下方粘贴)、P
(上方粘贴) - 批量操作:
5dd
删除5行后,p
粘贴到目标位置
三、进阶功能详解
- 搜索与替换
强大的文本处理能力:
- 向前搜索:
/pattern
(按n重复查找) - 反向搜索:
?pattern
- 全局替换:
:%s/old/new/g
(替换全文件) - 智能替换:
:%s/\bword\b/replacement/gc
(单词边界匹配+确认模式)
- 宏录制
自动化重复操作的利器:
- 开始录制:
qa
(a为宏名称) - 执行操作(如格式化代码)
- 停止录制:
q
- 回放宏:
@a
(连续执行可用@@
)
- 多窗口管理
并排编辑提升对比效率:
- 垂直分割:
:vsplit 文件名
- 水平分割:
:split 文件名
- 切换窗口:
Ctrl+w + 方向键
- 关闭窗口:
:q
或:close
四、配置优化与实用技巧
- 个性化设置
通过~/.vimrc
定制体验:
- 启用语法高亮:
syntax on
- 显示行号:
set number
- 自动缩进:
set autoindent
- 配色方案:
colorscheme desert
- 插件增强
推荐安装Vundle管理插件:
- 安装Vundle:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- 在.vimrc添加:
Plugin '插件名称'
- 更新插件:
:PluginInstall
- 命令行联动
与系统命令无缝衔接:
- 执行外部命令:
:!ls -l
- 过滤文本:
:%!sort
(排序当前行) - 读取命令输出:
:r !date
(插入当前时间)
五、实战案例解析
- 批量注释代码
选中代码块后:Ctrl+v
进入可视模式,I/*
添加注释符,Esc
退出;底部添加:Shift+v
选中后A*/
。
- 统计文件行数
输入:set nu
显示行号,文件末尾的数字即总行数。
- 快速打开历史文件
输入:history
查看最近打开的文件列表,用:e #
切换至前一个文件。
六、常见问题解答
- 如何退出强制保护模式?
输入ZZ
强制保存退出,或:x
等同于:wq
。
- 为何输入命令无效?
检查是否处于插入模式,按Esc返回命令模式后再输入命令。
- 如何恢复误删的内容?
按u撤销操作,或使用u
多次回退,再用Ctrl+r
重做。
七、学习路径建议
- 掌握基础模式切换与移动命令
- 练习文本删除、复制粘贴组合操作
- 熟练使用搜索替换完成日常任务
- 探索宏录制与多窗口提升效率
- 根据需求定制vimrc配置文件
vi/vim如同瑞士军刀,初学时可能感觉复杂,但随着使用深入,其简洁高效的特性将充分展现。建议每天设定15分钟练习特定命令组合,逐步构建自己的快捷键体系。当您能在不看文档的情况下完成代码片段的快速编辑,便真正掌握了这一强大工具的核心价值。
本文提供的命令清单和技巧已覆盖90%的日常工作场景,但仍建议结合官方文档:help
持续学习。记住:真正的高手往往能在几秒内完成复杂的文本操作——这正是vi/vim带给Linux用户的终极魅力。