Linux操作系统的VI命令
Linux操作系统的VI命令
VI是Linux系统的一个文本编辑器,该编辑器可以通过使用VI命令来操作,从而完成对文本的编辑。熟练掌握一些常用的VI命令,可以大大简化编辑操作并提高操作Linux文本的效率 。
使用VI命令编辑文本时,有三种编辑模式——命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。
(一)命令模式
命令模式可以在文本中快速定位光标在指定区域、执行复制和粘贴操作、执行删除操作等。
①光标移动
|
命令 |
描述 |
|
命令 |
描述 |
|
0 |
光标定位到开头位置 |
G |
光标定位到结束位置 |
|
|
^ |
光标定位行首 |
$ |
光标定位行尾 |
|
|
Ctrl+f |
光标定位到上一页 |
Ctrl+b |
光标定位到下一页 |
|
|
Ctrl+d |
光标定位到上半页 |
Ctrl+u |
光标定位到下半页 |
|
|
[n]l |
光标定位到行的第n格 |
[n]G |
光标定位到第n行 |
|
|
h、j、k、l |
光标向左、下、上、右移一格 |
|||
②删除文本
|
命 令 |
描 述 |
|
命 令 |
描 述 |
|
x |
删除光标后一个字符 |
[n]x |
删除光标后n个字符 |
|
|
X |
删除光标前一个字符 |
[n]X |
删除光标前n个字符 |
|
|
dd |
删除当前行 |
[n]dd |
向下删除n行 |
|
|
dG |
向下删除到最后一行 |
dw |
删除当前的单词 |
|
|
d0 |
删除光标至行首 |
d$ |
删除光标至行尾 |
③删除、复制、粘贴、查找、替换、撤销
|
命令 |
描述 |
|
命令 |
描述 |
|
yy |
复制当前行 |
[n]yy |
向下复制n行 |
|
|
dd |
删除当前行 |
[n]dd |
向下删除n行 |
|
|
dG |
向下删除到最后一行 |
dw |
删除当前的单词 |
|
|
d0 |
删除光标至行首 |
d$ |
删除光标至行尾 |
|
|
r |
替换光标处的字符 |
R |
替换光标所到处的字符(按ESC键结束) |
|
|
p |
在下一行位置粘贴内容 |
/[关键字]、?[关键字] |
查找关键字(按n查找下一个) |
|
|
u |
撤销操作 |
ctrl+r |
反撤销操作 |
(二)插入模式
插入模式可以移动和定位光标(小范围定位)、自由输入文本、替换文本等。
|
命令 |
描述 |
|
命令 |
描述 |
|
i |
光标之前输入 |
I |
光标定位到行首 |
|
|
a |
光标之后输入 |
A |
光标定位到行尾 |
|
|
o |
光标定位到下一行开头 |
O |
光标定位到上一行开头 |
|
|
s |
替换光标位置的字符 |
S |
替换光标位置的行 |
(三)底行模式
底行模式可以查找文本、定位光标(通过查找)和保存文件等。
|
命 令 |
描 述 |
|
命 令 |
描 述 |
|
:w |
保存文件 |
:q |
退出编辑器 |
|
|
:q! |
强制退出编辑器 |
:wq |
保存文件并退出编辑器 |
|
|
:set nu |
列出行号 |
/[关键字] |
查找关键字(按n查找下一个) |
注意:在底行模式下的命令,需要按回车键才执行该命令。
(四)切换模式
VI编辑器的3种模式实现了不同功能的操作,在某个模式下,需要切换到另一个模式,可以按图示操作。

实现以上过程的命令:
过程①:输入vi [文件名],按回车键执行该命令,进入命令模式;
过程②:按a、i、o或s键,实现命令模式——>插入模式;
过程③:按Esc键,实现插入模式——>命令模式;
过程④:输入:或 /,实现命令模式——>底行模式;
过程⑤:按Esc键、连按Esc键2次或删除全部底行内容,实现底行模式 ——>命令模式;
过程⑥:输入:q、:q!或:wq,按回车键执行该命令,从命令模式退出。
———————————————————————————————————————————————————————————————————
The end @ 万有引力+
-
-
-
-
-
Linux操作系统的VI命令的更多相关文章
- linux下vi命令大全
进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首 ...
- Linux下VI命令详细介绍
vi 是"Visual Interface" 的简称,它在Linux 上的地位就仿佛Edit 程序在DOS上一样.它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且 ...
- (转)linux下vi命令大全
http://www.cnblogs.com/88999660/articles/1581524.html 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n ...
- linux下vi命令大全[转]
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- 介绍linux下vi命令的使用
功能最强大的编辑器之一——vivi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件.当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器 ...
- linux下vi命令的使用
linux vi命令详解 刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单 ...
- linux下vi命令大全(转载)
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- 【linux】linux下vi命令的使用
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- linux下vi命令(转)
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
随机推荐
- Android 跨进程数据共享
Android 开发过程中,基于功能隔离.进程安全.进程保活等等考虑,我们经常需要为应用划分进程,然后不得不面临跨进程通信和跨进程共享数据的挑战. 跨进程通信 相对来说,跨进程通信比较简单,常用的方式 ...
- HDU 2089 不要62【解题报告】
题目描述: 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客 ...
- vs code代码对齐快捷键
vscode缩进快捷键: 选中文本: Ctrl + [ 和 Ctrl + ] 实现文本的向左移动或者向右移动: vscode代码对齐快捷键: 选中文本: Shift + ...
- 利用AMPScript获取Uber用户数据的访问权限
现代项目开发和资产管理方法正在不停地快速变化.在这场创新和扩张的竞赛中,新资产被迅速部署并暴露于公共互联网,已有资产也在不断发展. 要跟上这个不断变化的攻击面是很难的,更不用说保护这些应用程序和系统了 ...
- Python科学计算学习之高级数组(二)
代码性能和向量化 背景:Python是一种解释型的编程语言,基本的python代码不需要任何中间编译过程来得到机器代码,而是直接执行.而对于C.C++等编译性语言就需要在执行代码前将其编译为机器指令. ...
- 消息中间件解决方案JMS
1. JMS入门 1.1消息中间件 1.1.1品优购系统模块调用关系分析 我们现在讲品优购已经完成的功能模块梳理如下: 我们已经完成了5个web模块和4个服务模块.其中运营商后台的调用关系最多,用到了 ...
- HDU 2196树形DP(2个方向)
HDU 2196 [题目链接]HDU 2196 [题目类型]树形DP(2个方向) &题意: 题意是求树中每个点到所有叶子节点的距离的最大值是多少. &题解: 2次dfs,先把子树的最大 ...
- windows程序设计 获取磁盘容量
//磁盘分区的总容量(字节)=总簇数*每簇扇区数*每扇区字节数 //磁盘分区的空闲空间(字节)=空闲簇数*每簇扇区数*每扇区字节数 BOOL GetDiskFreeSpace( LPCTSTR lpR ...
- git冲突管理
Diff 查看工作区(working directory)和暂存区(staged)之间差异:git diff 查看工作区(working directory)与当前仓库版本(repository)HE ...
- SQL实现如何计算项目进度总共天数情况、已经施工天数情况、以及施工进度百分比
SELECT DATEDIFF(DAY,e.StartDate,e.EndDate)as totaldays, (SELECT COUNT(TaskID) from ConstructionManag ...