驰网飞飞 发表于 2024-7-8 19:53:38

vi编辑器有几种模式?vi编辑器常用命令详解

vi/vim是工作在字符终端环境下的全屏幕编辑器,因为编辑界面相对比较简单,并没有为用户提供鼠标操作和菜单系统,而是通过按键命令实现相应的编辑和操作功能。在vi编辑界面中可以使用三种不同的工作模式。分别是命令模式(Command mode),编辑模式(Insert mode)和末行模式(Last line mode)。在不同的模式能够对文件进行的操作也是不同的。

命令模式
用户使用vi/vim命令默认是进入了命令模式,在命令模式下敲击键盘动作会被Vim识别为命令,而非输入字符。比如你想要编辑文本,启动vim进入命令模式后,按下i即可切换到编辑模式。

命令模式基本命令
:切换末行命令模式,在最底一行输入命令
↑ ↓ ← →    移动光标位置
行间跳转:
G    最后一行
gg   第一行
1G   第一行
10G   跳转到第十行

删除命令:
x 删除当前光标所在处的字符
d删除,可结合光标跳转字符,实现范围删除
d$删除到行尾
d^删除到非空行首
d0删除到行首
dw 下一个单词的词首
de当前或下一个单词的词尾
db当前或上一个单词的词首

复制命令:
yy复制行
#yy复制多行

粘贴命令:
p缓冲区寸的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
P缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面

行内:
^跳转至行首的第一个非空白字符
0跳转至行首
$跳转至行尾

替换命令:
r只替换光标所在处的一个字符

撤销更改:
u撤销最近的修改,相当于Windows中的ctrl+z
#u撤销之前多次更改
U撤销光标落在这行后所有此行的更改

.重复上一次操作
#.重复上一次操作#次
~转换大小写

编辑模式
在命令模式下按i就进入了编辑模式,进入编辑模式后可以在末行看到--INSERT--,在输入模式中,日常命令和按键有:
i   在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I   行首插入命令
o   在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O   在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a   在当前光标所在位置之后插入随后输入的文本
A   行尾插入命令

字符键+Shift       输入字符
Enter      换行
Backspace    删除光标前一个字符
Del      删除光标后一个字符
↑ ↓ ← →       在文本中移动光标
Home/End      移动光标到行首/行末
Page Up/Page Down      上/下翻页
Insert   切换光标为输入/替换模式,光标将变为竖线/下划线
Esc      退出输入模式,切换到命令模式

末行模式
在命令模式下按:就进入了末行模式,英文的冒号哦
末行模式可以输入单个或多个字符的命令,可用的命令非常多,常用的命令有如下:
:q   退出不保存
:w 保存文件
:wq   保存文件并退出
:w 新文件名   另存为新文件
:wq :zz :x   保存并退出
:q!    强制退出不保存
:e 其他文件名(如果已修改需要加e!)   打开新文件进行编辑
:r 其他文件名    在当前文件中读入其他文件内容
#    具体第#行,例如2表示第2行
#,#    左侧#表示起始行,右侧#表示结尾行
#,+#    左侧#表示起始行,加上右侧#表示行数,例如2,+3表示2-5行
.    当前行
$   最后一行
.,$-1   当前行到倒数第二行
%   全文,相当于1,$

查找并替换
格式: 范围s/要查找的内容/替换的内容/g
说明:
要查找的内容:可使用基本正则表达式模式   
替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查
找到的整个内容

修饰符:
i #忽略大小写
g #全局替换,默认情况下,每一行只替换第一次出现
c #全局替换,每次替换前询问
查找替换中的分隔符/可替换为其它字符,如:#,@
范例:
s@/etc@/var@g
s#/boot#/#i显示行号:set number,简写 set nu
取消显示:set nonumber, 简写 set nonu
自动缩进 启用:set autoindent,简写 set ai
               禁用:set noai

加密:
启用: set key=要设置的密码
禁用: set key=       (什么都不写)

设置标尺
启用:set cursorline,简写 set cul
禁用:set nocursorline,简写set nocul

set帮助:set all

以上就是关于vi编辑器的分享
感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!
页: [1]
查看完整版本: vi编辑器有几种模式?vi编辑器常用命令详解

点击直接加入[服务器大本营QQ频道]