实用工具vi
来源:互联网 发布:高中数学讲课视频软件 编辑:程序博客网 时间:2024/06/05 07:59
实用工具vi
vi有输入和命令两种工作模式
输入模式用于输入模式。命令模式则是用来运行一些编排文件、存档以及离开vi等操作命令。当执行vi后,首先进入命令模式,此时输入的任何符都被视为命令。
在命令模式下,可以使用如下的两个键进入文本输入模式:
a:在当前的光标后面添加文本。
i:在当前的光标前面添加文本。
在输入模式下如果用户希望回到命令模式的时候,只能在输入模式下使用Esc键切换到命令模式,之后会在屏幕底部出现光标等待输入命令。
使用vi新建一个文档
在Unix/Linux的终端命令主提示符下输入vi。
按下“a”键,进入输入模式,然后输入文本。
可以使用Enter键来换行,使用Backspace键删除前面的文字。
按下”r”键,替换当前光标位置字符
文本输入完成以后,按下“Esc”键切换到命令模式。
为了保存输入的内容,在命令模式下输入“:w filename”,将文本区输入的内容写文件。
在命令行模式下输入“:q”(引号内的部分)并按Enter键,退出vi,并回到shell命令提示符
使用vi编辑现有文档
在vi命令后面跟上文件名,然后按Enter键即可,如:
[root@myhost root]# vi filename
由于没有指定路径,vi程序在默认的路径,即当前目录中查找filename,用户也可以为其指定路径。如果文件不存在,此时会新建一个文件
vi的撤销功能
和很多基于图形的编辑器一样vi也提供撤销功能,对于一个编辑器来说,提供撤销功能是必要的。用户可以在命令模式下输入“u” 就可以撤销上一次操作。
在vi中,撤销功能每一次撤销的是自上次存盘到现在输入的内容,因此撤销能够恢复到最原始的状态,但是此时用户不能使用“:q”命令来退出vi,因为此时用户已经修改了缓冲区的内容。如果确实需要退出vi程序,可以使用在命令模式下“:q!”。按 键功 能
vi的插入模式
a 光标位置右边插入文字
i 光标位置当前处插入文字
o 光标位置下方开启新行
O 光标位置上方开启新行
I 光标所在行首插入文字
A 光标所在行尾插入文字
退出vi
按 键 功 能
ZZ 保存退出
:wq 保存退出
:x 保存退出
:w filename 保存到指定文件
:q 退出,如果文件修改但没有保存,会提示无法退出
:q! 退出,不保存
:!命令 暂时离开iv,执行命令
vi的删除功能
在vi的输入模式下,用户可以使用Backspace(退格键)来删除光标前面的内容,还可以使用delete键来删除当前的字符。此外,在vi的命令模式下还提供了几个按键用来删除一个字符或进行整行删除,其热键及其功能如表所示
按 键 功 能
x 删除当前光标所在的字符
X 删除光标前一个字符
D 删除光标所在开始到此行尾的字符
dd 删除光标所在的行
dG 删除光标所在开始到文件尾的所有字符
J 合并两行
vi的行定位功能
按 键 功 能
Ctrl + f 向前卷动一个屏幕
Ctrl + b 向后卷动一个屏幕
G 到文件最后一行行首,G必须为大写
:$ 到文件最后一样行尾
mG 到指定行,m为目标行数,
set nu 显示行号
/内容 查找指定内容
vi的文本查找功能
按 键 功 能
/字符串 查找指定字符串
n 寻找下一个
N 回到前一个
? 寻找上一个
/^字符串 查找以字符串开始的行
/字符串$ 查找以字符串结尾的行
/a.b 查找字符串a任意字符b
vi的文本替换功能
按 键 功 能
r 替换当前光标字符
:r 文件名 在光标当前位置载入另一个文件
:开始行号,截止行号 s /源字符串/目标字符串/g 在指定行号范围内替换字符串
1,$ s /start/end/g 从第一行开始到文件最后,将字符串start替换为end
vi的set功能
按 键 功 能
:set ic 搜寻时忽略大小写
:set noic 搜寻时不忽略大小写
:set nu 显示行号
:set nonu 不显示行号
- 实用工具vi
- 实用工具
- ~~~实用工具~~~
- 实用工具
- 实用工具
- 实用工具
- 实用工具
- 实用工具
- 实用工具
- 实用工具
- 实用工具
- isql实用工具
- Internet实用工具
- ReportingService实用工具
- 实用工具罗列
- isql 实用工具
- isql 实用工具
- Java实用工具
- 170816 WarGames-Natas(0-14)
- 数据结构实验之排序七:选课名单
- Deconvolution/Transposed convolution
- JNI:在JNI中调用第三方库时所需的CMakeLists 配置
- SSL P2701 交错匹配
- 实用工具vi
- Subject 与 Observable 的区别
- 查询语言模型
- JavaScript封装
- 洛谷P3781 [TJOI2010] Middle 中位数 详细题解
- 21.odoo入门——杂记
- GMM的EM算法实现
- 链接详解
- 给GridView或ListView添加一个固定按钮(类似于微信群聊邀请好友按钮)