服务器大本营

 找回密码
 我要入营

微信扫码 , 快速开始

QQ登录

只需一步,快速开始

查看: 232|回复: 0

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

[复制链接]

2万

敬重

585

主题

207

精华

管理员

积分
7194

启航之章进阶之印里程之碑突破之证飞跃之星蜕变之勋卓越之路龙年行大运

QQ
发表于 2024-7-8 19:53:38 | 显示全部楼层 |阅读模式

我要入营,结交更多好友,开启更多功能,轻松玩转服务器大本营!

您需要 登录 才可以下载或查看,没有账号?我要入营

x
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 #全局替换,每次替换前询问
查找替换中的分隔符/可替换为其它字符,如:#,@
范例:
  1. s@/etc@/var@g
  2. 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编辑器的分享
感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!
一入IDC深似海,从此你我是良人!
您需要登录后才可以回帖 登录 | 我要入营

本版积分规则

Loading...

QQ|Archiver|手机版|网站地图|服务器大本营 ( 赣ICP备2021009089号 )

GMT+8, 2024-9-8 08:27 , Processed in 0.085791 second(s), 25 queries , Gzip On.

Powered by 服务器大本营

© 2021-2023 联系飞飞

快速回复 返回顶部 返回列表