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 :打开文件,并将光标置于最后 ...
随机推荐
- 使用Gadget 做usb鼠标键盘设备
使用Gadget 做usb鼠标键盘设备 感谢TI社区提供的好帮助啊!http://e2e.ti.com/support/arm/sitara_arm/f/791/p/571771/2103409?pi ...
- FPGA小例子
AND ---与门:OR --- 或门:INV --- 非门:NAND --- 与非门:NOR --- 或非门:XOR --- 异或门:XNOR ---同或门:MUX --- 数据选择器: 1.使用一 ...
- BIO, NIO 和 Epoll (转载)
很好的文章 https://eklitzke.org/blocking-io-nonblocking-io-and-epoll
- Virtual Memory is deprecated in Redis 2.4
在读一个源码的讲解的文章时或者读一本关于某个技术的数据集时,可能书籍的讲解是滞后的,就是没有更上最新的代码,那么就要注意了WARNING! Virtual Memory is deprecated i ...
- node+webpack+vue-cli
安装nodejs + 安装webpack + 安装vue-cli+安装脚手架模板+安装依赖+运行 1 安装nodejs 去官网安装node.js( http://www.runoob.com/nod ...
- IDEA 201809 Jrebel安装破解
jrebel介绍: JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响.JRebel使你能即时分别看到代码.类和资源的变化, ...
- django2.2/mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3
报错环境 python=3.6.5,django=2.2,PyMySQL=0.9.3 …… django.core.exceptions.ImproperlyConfigured: mysqlcl ...
- C博客作业06--结构体&文件
1.本章学习总结 1.1思维导图 1.2本章学习体会 学习了结构和文件,又是懵懵的课了,我的天啊.结构还好,题目集一出就做了,不是很难,感觉掌握的还可以,不过这只是感觉而已,等到真正来写大作业的时候又 ...
- redis 在 php 中的应用(Set篇)
本文为我阅读了 redis参考手册 之后编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) Redis的 Set 是 string 类型的无序集合.集合成员是 ...
- 遍历table明细是否为空
//循环遍历 <tbody id="linedata2">,获取每行值对比 $("#linedata2 tr").each(function(i,n ...