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编辑器的分享,感谢您的阅读,服务器大本营助您成为更专业的服务器管理员!

posted @ 2024-04-30 15:25  驰网飞飞  阅读(20)  评论(0编辑  收藏  举报
……