虚拟仪器的工作模式
Vi有三种基本工作模式:
1.命令模式:命令模式主要是利用箭头键移动光标位置进行文本编辑。
2.文本输入模式:在命令模式下,按A/A键、i/I键和O/O键进入文本模式。
3.末行模式:末行模式主要执行文本编辑的一些辅助功能,如字符串搜索、替换、文件保存等。
在命令模式下输入a、I、o,进入文本输入模式。
在文本输入模式下按ESC键进入命令模式。
进入命令模式:进入最后一行模式。
如果在最后一行模式中存在指令错误,它将返回到命令模式。
VI命令的常见用法
下面是最基本最常用的vi命令~折腾vps就够了,比如退出vi的命令等等~
0.进入vi的命令
Vi filename:打开或创建一个新文件,并将光标放在第一行的开头。
Vifilename:打开文件,将光标放在第n行的开头。
Vi filename:打开文件,将光标放在行首。
Vi /pattern filename:打开文件,将光标放在与模式匹配的第一个字符串上。
Vi -r文件名:上次用Vi编辑时系统崩溃。恢复文件名。
Vi文件名.文件名:打开多个文件,依次编辑。
1.命令模式
page dn-向下移动一页
向上翻页-向上移动一页
0-光标移动到行首
h-将光标向左移动一帧。
将光标向右移动一格。
将光标下移一行。
将光标上移一行。
$ a-将光标移动到行尾
d箭头键-删除文本
删除整行
PP-复制整行
r-修改光标所在的字符。
s-删除光标所在的列,进入输入模式。
2.文本输入模式
在光标后插入。
在行尾插入。
I-从光标位置的前面插入。
I-从光标所在列的第一个非空白字符的前面插入。
o-在光标列下添加一个新列,并进入输入模式。
o-在光标所在列的上方添加一个新列,进入输入模式。
ESC-返回命令行模式
3.最后一行模式
:q-结束Vi程序。如果文件已被修改,请先保存文件。
:q!-强制退出Vi程序(不保存更改)
:wq-保存更改并退出程序。
ZZ-保存更改并退出程序(当Caps Lock未打开时,按住Shift键,然后按两个Z键)
:set num-设置行号。
移动和复制
==========
Delete和put命令可用于实现数据移动的目的。
拉和放命令可以用来复制数据。
猛拉和删除可以将指定的数据复制到内存缓冲区,并通过put命令
将缓冲区中的数据复制到屏幕上。
示例:
移动一行。dd在那一行执行。
将光标移动到目的地。执行p
复制一行。在那行执行yy
将光标移动到目的地。执行p。指令重复。
=========
在指令模式下,可以在指令前加一个数字N,指令动作会被N次重复执行。
时代周刊。
示例:
删除10行。10dd
抄10行。 10yy
将光标移动到目的地。p
指示器下移10行。10J。取消上一个操作(撤消)
===================
也就是说,恢复执行最后一个命令之前的内容。
u恢复最后一条指令之前的结果。
u恢复光标行的所有更改。
.搜索
=====
您可以在vi中搜索一个字符串,将光标移动到那里。
/string查找光标后的字符串。
?查找光标前的字符串。
n继续寻找下一个相同的字符串。
向上继续寻找下一个相同的字符串。
.数据连接
===========
句子的连接。将光标下方的线连接到光标线的后面。
如果一行数据太长,可以分成两行。只需将光标移动到分离点,进入输入模式。
(可以使用A、I等指令)然后按《Enter》。
.环境设置
===========
:set nu设置数据的行号。
:set nonu取消行号设置。
:设定ai自动缩小。
:set noai取消自动缩进。
自动缩进(自动缩进)
编辑文档或程序时,有时会遇到需要缩进的情况。“:set AI”由提供
下面的例子解释了动态收缩的功能:vi测试
(进入编辑窗口后)
这是自动缩进的测试
《Tab》开始缩进:设置ai(带自动缩进)
《Tab》数据
《Tab》数据
《Tab》数据:设置noai(取消自动收回)
自动缩进的结束。
注意:Ctrld可以删除《Tab》个字符。
从当前位置删除到行尾
d美元
从当前位置复制到行尾
Y$如果你想粘贴到别的地方,P也行。
13.
用法:%s/old_word/new_word/g
此指令用于替换整个文件中的特定字符串。
14.光标控制
k:上移nk和上移N行
j:下移nj,下移N行
将光标移动到第n行,然后按MK。
将光标移动到m行,然后按' ay' K。
也就是说,第n到m行存储在寄存器A等等,寄存器B,寄存器C等等。
这样,你就可以把你常用的需要重用的内容粘贴到不同的寄存器中,以备后用。
如果要粘贴到某个地方,只要把光标移到某个地方,按‘AP’,等等。乙,丙.登记册等。
在当前屏幕中
跳到第一行
m跳到中线。
我跳到最后一行。
15.
表8-2删除命令
删除命令操作
删除当前字符(与X命令功能相同)
删除到一行的开头。
删除到一行的第一个字符位置(不包括空格或制表符)
删除到一个单词的末尾。
D W被删除到第三个单词的末尾
删除一个单词的开头。
删除到一个单词的末尾,用一个空格作为分隔符。
删除到单词的开头,用一个空格作为分隔符。
D B被删除到前七个单词的开头,用空格作为分隔符
d)删除至声明末尾。
d)删除第四句末尾。
d(删除到语句的开头。
D}删除至段落末尾
d {删除至段落开头
d {删除至当前段落开始前的第7段位置。
删除当前行。
D /t e x t从文本中删除“t e x t”中指定的单词出现的位置,并前进到该单词的下一个出现处。
位置之间的内容(但不包括单词)
Fc删除字符“c”在文本中出现的位置,并向前移动直到字符出现的下一个位置(包括
字符)之间的内容。
Tc删除当前行和下一个字符“c”出现的位置之间的内容
删除d到行尾。
D $被删除到一行的末尾
从当前行删除五行。
l删除屏幕上最后一行的内容。
删除屏幕上直到第一行的内容。
删除工作缓冲区末尾的内容。
1 g删除工作缓冲区开头之前的内容
替换命令
命令操作
用一个或多个字符替换当前字符。
用一个或多个字符替换当前行。
5用一个或多个字符替换当前字符中的5个字符。
Vi替换使用规则:
:g/s1/s/s2/s3/g
第一个g表示包括s1的每一行都被替换,第二个g表示包括s1的每一行的所有s2都被s3替换。
s代表替换,s2是要替换的字符串,可以和s1一样(如果一样,用//代替),s3是替换字符串。