2023-01-20 16:11:22 发布人:hao333 阅读( 7786)
VI的工作模式Vi有三种基本的工作模式:1 指令模式(CommandMode):指令模式主要使用方向键移动光标位置进行文字的编辑2 文本输入模式(InputMode):在指令模式下(CommandMode)按a/A键、i I键、o/O键进入文本模式3 行末模式(LastlineMode):末行模式
VI的工作模式
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、指令模式(Command Mode)
page dn-向下移动一页
向上翻页-向上移动一页
0-光标移动到行首
h-将光标向左移动一帧。
将光标向右移动一格。
将光标下移一行。
将光标上移一行。
$ a-将光标移动到行尾
d箭头键-删除文本
删除整行
PP-复制整行
r-修改光标所在的字符。
s-删除光标所在的列,进入输入模式。
2、文本输入模式(Input Mode)
在光标后插入。
在行尾插入。
I-从光标位置的前面插入。
I-从光标所在列的第一个非空白字符的前面插入。
o-在光标列下添加一个新列,并进入输入模式。
o-在光标所在列的上方添加一个新列,进入输入模式。
ESC-返回命令行模式
3、末行模式(Last line Mode)
: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用一个或多个字符vi替换使用规则:替换从当前字符开始的5个字符。
:g/s1/s/s2/s3/g
第一个g表示包括s1的每一行都被替换,第二个g表示包括s1的每一行的所有s2都被s3替换。
s代表替换,s2是要替换的字符串,可以和s1一样(如果一样,用//代替),s3是替换字符串。
相关阅读
RelatedReading猜你喜欢
Guessyoulike