Linux Vi命令详解:基础操作与高级导航
需积分: 10 6 浏览量
更新于2024-09-13
收藏 24KB DOCX 举报
Linux vi 命令是Unix/Linux系统中不可或缺的文本编辑器,它强大且功能丰富,常用于编写、修改和查看源代码、配置文件等。本文档主要介绍了vi命令的基础和常用操作,包括但不限于:
1. **进入vi模式**:
- `vi filename`:打开或创建新文件,光标置于第一行。
- `vi +n filename`:打开文件并定位到第n行。
- `vi +/pattern filename`:定位到匹配模式的第一个实例。
- `vi -r filename`:在系统崩溃后恢复文件的编辑状态。
2. **光标移动**:
- `h`:光标向左移动一个字符。
- `l`:光标向右移动一个字符。
- `Space`:光标向右移动一个字符。
- `Backspace`:光标向左移动一个字符。
- `k` 或 `Ctrl+p`:光标向上移动一行。
- `j` 或 `Ctrl+n`:光标向下移动一行。
- `Enter`:进入下一行。
- `w` 或 `W`:光标跳到下一个单词的开始。
- `b` 或 `B`:光标跳到上一个单词的开始。
- `e` 或 `E`:光标跳到下一个单词的结束。
- `)`:光标移动到当前句子的末尾。
- `(`:光标移动到当前句子的开头。
- `}`:光标移动到当前段落的开头。
- `{`:光标移动到当前段落的结尾。
3. **行和文件定位**:
- `nG`:移动到文件中的第n行首。
- `n+` 或 `n-`:分别向上或下移动n行。
- `n$`:移动到第n行的末尾。
- `H`:光标移到屏幕顶部。
- `M`:光标移到屏幕中间。
- `L`:光标移到屏幕底部。
- `0`:光标移到当前行的开始。
- `$`:光标移到当前行的结束。
4. **屏幕滚动**:
- `Ctrl+u`:向上滚动半个屏幕。
- `Ctrl+d`:向下滚动半个屏幕。
- `Ctrl+f`:向下滚动一个屏幕。
- `Ctrl+b`:向上滚动一个屏幕。
- `nz`:滚动至第n行顶部,不指定n则滚动至当前行顶部。
5. **插入和编辑文本**:
- `i`:在光标前插入文本。
- `I`:在当前行的开始处插入文本。
- `a`:在光标后插入文本。
- `A`:在当前行的末尾插入文本。
- `o`:在当前行下方添加新行。
- `O`:在当前行上方添加新行。
- `r`:替换当前字符。
- `R`:替换从当前字符开始到行尾的所有字符。
- `s` 和 `S`:替换和删除字符/行。
- `ncw` 或 `nCW`:修改指定数量的单词。
- `nCC`:修改指定行数。
6. **删除操作**:
- `dw` 或 `dW`:删除从光标开始到单词结束的字符。
- `dd`:删除当前行。
- `x` 或 `X`:删除字符(x 后面的字符,X前面的字符)。
- `Ctrl+u`:删除输入模式下的输入内容。
7. **搜索和替换**:
- `/pattern`:向前搜索模式。
- `?pattern`:向后搜索模式。
- `n`:重复上一次搜索的方向。
通过掌握这些基本命令,用户可以高效地在Linux系统中对文本进行编辑和管理,vi命令的学习对于Linux初学者和高级用户来说都是必不可少的。
2013-02-11 上传
2011-07-18 上传
2011-07-13 上传
2008-11-02 上传
2024-05-22 上传
2019-08-11 上传
2012-01-11 上传
2013-05-31 上传
xnrqjh
- 粉丝: 1
- 资源: 8
最新资源
- AccessControl-5.3.1-cp36-cp36m-win32.whl.zip
- 要领-准备数据集.zip
- 锅炉施工组织在设计-绥中3号锅炉专业施工组织设计
- Python库 | common-dibbs-0.1.9.3.1.tar.gz
- esp8266_bitseq:用于 esp8266 的通用同步位采样器
- Framework:我的东西框架,我的知识库
- spinnaker-deploymentmanager
- DDLMS_DDLMSFPGA实现_
- glut库文件-错误: 无法打开包括文件:“gl/glut.h”
- Phakchi:Swift中的Pact消费者客户端库
- AccessControl-5.3.1-cp38-manylinux_i686.manylinux1_i686.whl
- 钢结构施工组织设计-北京XX大厦室内装饰工程施工组织设计方案
- Python库 | commadecimal-1.0.0.tar.gz
- FizzBuzz:用多种方法实现的简单 FizzBuzz Java 程序
- nginx-http-flv-module:基于nginx-rtmp-module的流媒体服务器。 除了nginx-rtmp-module提供的功能外,现在还支持HTTP-FLV,GOP缓存和VHOST(一个IP用于多个域名)
- Quartz.Net-Multiple-Schedulers:该项目演示了Quartz Job Scheduler的多个作业侦听器的用法