vi 命令

本文介绍了Vi编辑器的基本操作命令,包括查找替换、退出保存、撤销恢复等常用功能,以及光标的移动方式,适用于初学者快速掌握Vi编辑器的使用。

查找命令:
/待查字符
n,正向查找-下一个
N,反向查找-上一个
?待查字符
向上查找

查找替换:
%s/源字符串/新字符串/g    从头到尾替换(全替换)
n,%s/源字符串/新字符串/g   从第n行开始全替换

 

 

Vi的退出命令有很多,常用的有以下几种:

  • :w     保存文件但不退出vi
  • :w file       另存为file文件,不退出vi
  • :w!   强制保存,不退出vi
  • q:      不保存文件,退出vi
  • :q!    不保存文件,强制退出vi
  • :wq  保存文件并退出vi
  • :wq! 强制保存文件并退出vi
  • :x      写入文件并退出
  • :e!    放弃所有的修改,从上次保存文件开始开始再编辑

关于x命令和wq命令的区别:

wq   强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
x    写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。

 

 

 

'u' : 撤销上一个编辑操作

'ctrl + r' : 恢复,即回退前一个命令

'U' : 行撤销,撤销所有在前一个编辑行上的操作

 

使用u 和 CTRL+R 命令可以恢复到任何编辑过的状态

 

 

 

光标移动: 

H,J,K,L      同方向键 左,下,右,上

-                 光标上移一行

+/Enter     光标下移一行

退格/空格 光标左/右一个字符

Ctrl + F     往下滚动一屏

Ctrl + B     向上滚动一屏

Ctrl + D     向下滚动半屏

Ctrl + U     向上滚动半屏

Ctrl + E     编辑窗口中的文件内容整体上移一行

Ctrl + Y     编辑窗口中的文件内容整体下移一行

 

w               将光标右移一个字。光标停留在下一个字的字首位置。

W              将光标右移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。

b               将光标左移一个字。光标停留在下一个字的字首位置。

B               将光标左移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。

e               把光标移至当前所在字(或下一个字)的最后一个字符位置。

E               同上,只是以空格字符作为字的分隔符。

^                把光标移至当前行的起始位置,也即当前行的第一个非空白字符位置

0(零)    同上

$                把光标移至当前行的行尾,也即当前行的最后一个字符位置。

H               把光标移至编辑窗口顶部第一行的行首位置。

M               把光标移至编辑窗口中间一行的行首位置。

L                把光标移至编辑窗口底部最后一行的行首位置。

 

 

 

### vi 命令使用指南 vi 是 Linux 系统中一个功能强大的文本编辑器,它提供了多种模式以支持不同的操作需求。以下是关于 vi 命令的详细使用方法和相关技巧。 #### 1. vi 的基本模式 vi 编辑器有三种主要模式:命令模式、插入模式和末行模式。 - **命令模式**:启动 vi 后,默认进入命令模式,在此模式下可以执行各种编辑命令。 - **插入模式**:通过按 `i`、`a` 或 `o` 键从命令模式切换到插入模式,在此模式下可以输入或修改文本内容。 - **末行模式**:在命令模式下按下 `:` 键进入末行模式,用于执行文件保存、查找替换等高级操作[^1]。 #### 2. 文件保存与退出 在末行模式下,可以通过以下命令保存或退出文件: - `:w` 保存当前文件的内容。 - `:w newfile.txt` 将当前文件内容保存为新文件 `newfile.txt`。 - `:q` 退出 vi 编辑器,如果文件未保存会提示错误。 - `:wq` 或 `ZZ` 保存并退出。 - `:q!` 强制退出且不保存任何更改[^2]。 #### 3. 查找与替换 vi 提供了强大的查找和替换功能: - **查找文本**:在命令模式下输入 `/关键字`,例如 `/hello`,可以查找文件中包含 “hello” 的所有位置。按 `n` 键查找下一个匹配项,按 `N` 键查找上一个匹配项[^2]。 - **替换文本**:使用以下命令进行替换操作: - 替换当前行的第一个匹配项:`:s/旧内容/新内容/`。 - 全局替换所有匹配项:`:%s/旧内容/新内容/g`。例如,`:%s/linux/Linux/g` 将文件中所有的 “linux” 替换为 “Linux”。 #### 4. 快速定位与导航 vi 支持快速跳转到指定位置: - 输入行号后加 `G`,例如 `10G` 跳转到第 10 行。 - 输入 `G` 直接跳转到文件末尾。 - 输入 `gg` 返回文件开头[^2]。 #### 5. 撤销与重做 - 在命令模式下,按 `u` 键撤销上一步操作,连续按 `u` 可撤销多步。 - 按 `Ctrl + r` 重做被撤销的操作。 #### 6. 实用技巧 - 切换模式时需注意当前所处的模式,避免误操作。例如,在插入模式下输入的字符会直接显示在文本中,而在命令模式下则会被识别为命令[^2]。 - 使用 `:set number` 显示行号,方便定位和编辑[^1]。 ```bash :set number ``` --- ### 示例代码 以下是一个简单的示例,展示如何在 vi 中打开
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值