Linux vi编辑器命令大全
下载需积分: 50 | TXT格式 | 6KB |
更新于2024-11-14
| 187 浏览量 | 举报
"这篇文章是关于Linux环境下vi编辑器命令的总结,通过学习这些命令,你可以更熟练地在Linux系统中使用vi编辑器进行文本编辑和管理。"
在Linux操作系统中,vi(Visual Editor)是一个非常重要的文本编辑工具,它允许用户在终端中编辑文件而无需图形界面。vi编辑器分为两种模式:命令模式和插入模式。本文将详细介绍一些常用的vi命令,帮助你提升在Linux下的文本操作效率。
1. 命令模式:
- `h`: 左移动光标一个字符。
- `l`: 右移动光标一个字符。
- `j`: 下移光标一行。
- `k`: 上移光标一行。
- `nG`: 移动到文件的第n行。
- `G`: 移动到文件的最后一行。
- `w`: 向前移动到下一个单词的开头。
- `W`: 向前移动到下一个单词的开头(单词包含空格)。
- `b`: 向后移动到当前单词的开头。
- `B`: 向后移动到当前单词的开头(单词包含空格)。
- `L`: 移动到屏幕的最后一行。
- `M`: 移动到屏幕的中间行。
- `H`: 移动到屏幕的第一行。
- `e`: 移动到当前单词的末尾。
- `E`: 移动到当前单词的末尾(单词包含空格)。
- `(`: 向前移动到句子的开头。
- `)`: 向后移动到句子的结尾。
- `{`: 向前移动到段落的开头。
- `}`: 向后移动到段落的结尾。
- `0|`: 移动到当前行的开头。
- `n|`: 移动到当前行的第n列。
- `^`: 移动到当前行的第一个非空白字符。
- `$`: 移动到当前行的末尾。
- `+`: 移动到下一行的开头。
- `-`: 移动到上一行的开头。
2. 插入模式:
- `i`: 在当前光标位置开始插入文本。
- `I`: 在当前行的开头插入文本。
- `a`: 在当前光标之后插入文本。
- `A`: 在当前行的末尾插入文本。
- `o`: 在当前行之下插入新的一行并开始输入。
- `O`: 在当前行之上插入新的一行并开始输入。
- `r`: 替换当前字符。
- `R`: 连续替换多个字符,直到按下`Esc`退出。
3. 操作和删除:
- `:r file`: 将文件file的内容追加到当前行下面。
- `:nr file`: 将文件file的内容追加到当前行的n行下面。
- `escape`: 从插入模式返回命令模式。
- `^vchar`: 选择多个字符并执行操作(如复制、剪切)。
- `viı`: 选择并剪切文本。
- `x`: 删除当前光标所在字符。
- `nx`: 删除当前光标后n个字符。
- `X`: 删除当前光标前的字符。
- `nX`: 删除当前光标前的n个字符。
- `dw`: 删除当前单词。
- `ndw`: 删除当前光标后的n个单词。
- `dG`: 删除从当前行到文件末尾的所有行。
- `dd`: 删除当前行。
- `ndd`: 删除当前行及其以下的n行。
- `db`: 删除当前单词的前一个单词。
- `ndb`: 删除当前单词的前n个单词。
- `:/m/d`: 从当前行开始到标记m的行删除。
- `dd$`: 删除当前行到行尾。
- `cursor_command d`: 根据光标命令删除(如`dG`表示删除到文件末尾)。
- `^hbackspace`: 删除当前字符。
- `^w`: 删除当前单词。
4. 查找与替换:
- `/text`: 向下查找文本。
- `?text`: 向上查找文本。
- `n`: 重复上一次查找操作。
- `N`: 反向重复上一次查找操作。
- `ftext`: 移动到当前行下一个匹配的text。
- `Ftext`: 移动到当前行上一个匹配的text。
- `ttext`: 移动到当前行下一个text前一个字符。
- `Ttext`: 移动到当前行上一个text前一个字符。
- `:set ic`: 开启大小写不敏感查找。
- `:set noic`: 关闭大小写不敏感查找。
- `:s/oldtext/newtext`: 在当前行替换oldtext为newtext。
- `:m,ns/oldtext/newtext`: 从行m到行n替换oldtext为newtext。
- `&`: 重复上次替换操作。
- `:g/text1/s/text2/text3`: 在所有包含text1的行中替换text2为text3。
掌握这些vi编辑器的基本命令,你将能够更高效地在Linux系统中进行文本编辑,无论是日常操作还是进行系统维护,vi都是一个不可或缺的工具。
相关推荐










leeket
- 粉丝: 54
最新资源
- Unix/Linux命令整理:文件操作与路径管理
- ASP.NET(C#)实现点击刷新验证码功能
- EJB3.0实战教程:从基础到进阶
- C++实现简单MergeSort排序算法详解
- Lotus Notes邮件系统互联网配置详解
- 精通JavaScript:Web开发者必读
- 宛枫书社图书管理系统:设计与实现详解
- SED1335液晶控制器:解决‘雪花’现象与技术解析
- C++/C编程规范与最佳实践
- Cormen算法入门习题解答:优化插入排序与合并排序
- 微软企业信息门户解决方案:提升效率与协作
- MySQL 5.0存储过程详解:新特性和实战应用
- MATLAB常用函数详解与操作指南
- Tomcat配置详解:虚拟目录、端口设置与错误页面配置
- Linux网络配置与策略路由:ip命令详解
- 面向对象设计C#版:伍迷的编程智慧