vi 编辑器的三种模式及详解

目录

1.命令格式

2.三种模式

2.1 命令模式

命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

2.2 输入模式

2.3末行模式


1.命令格式

vim [选项]  文件

vim 文件名不存在      为新建文件

vim 文件名存在          为修改文件

常用选项:

+#: 打开文件后,让光标处于第#行,+默认行尾

!:  打开上一次文件夹

+/PATTERN: 让光标处于第一个被PATTERN匹配到的1行的行首

2.三种模式

  1. 命令模式:光标的移动、跳转、复制和删除

  2. 插入模式:用于对文本进行编辑

  3. 末行模式:可以进行退出vim编辑器、保存等设置

默认进入命令模式

命令模式 ----> 输入模式

i :当前光标输入

o : 当前行的下一行输入

输入模式 ----> 命令模式

esc

命令模式 ----> 末行模式

输入英文

末行模式 ----> 命令模式

esc

2.1 命令模式
命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

行间跳转:

G:     最后一行
gg:    第一行
1G:第一行
10G:跳转到第十行
 

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

x 删除一个字符

dd  剪切光标所在的行  
#dd 多行删除        

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

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

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

命令模式翻屏操作
Ctrl+f 向文件尾部翻一屏,相当于Pagedown
Ctrl+b 向文件首部翻一屏,相当于Pageup
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏

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

撤消更改
u 撤销最近的更改,相当于windows中ctrl+z
#u 撤销之前多次更改
U 撤消光标落在这行后所有此行的更改
Ctrl-r 重做最后的“撤消”更改,相当于windows中crtl+y


. 重复前一个操作
#. 重复前一个操作#次

~ 转换大小写

2.2 输入模式
  • 输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。

i在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I行首插入命令
o在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a在当前光标所在位置之后插入随后输入的文本
A行尾插入命令
2.3末行模式
  • 末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。

基础命令
#               具体第#行,例如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

快捷键功能效果
:q退出不保存
:q!强制退出不保存
:w保存
:w 新文件名另存为新文件:
:wq :zz :x保存并退出
:e 其他文件名(如果已修改需要加e!)打开新文件进行编辑
:r 其他文件名在当前文件中读入其他文件内容
!命令执行命令
:r!命令读入命令
  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在Linux系统中,Vi编辑器是一个标准的文本编辑器,类似于Windows系统下的记事本编辑器。它可以用于创建和编辑文本文件。关于撤销操作,可以使用Vi编辑器中的撤销命令来撤销之前的编辑操作。 在Vi编辑器中,撤销命令是通过按下"u"键来实现的。按下"u"键后,Vi编辑器会撤销上一次的编辑操作,恢复到之前的状态。如果需要多次撤销操作,可以连续按下"u"键。请注意,撤销操作只能撤销最近的一次编辑,不能逐步撤销多个编辑操作。此外,如果想要恢复撤销的操作,可以按下Ctrl+R键。 总结起来,要在Linux的Vi编辑器中执行撤销操作,可以按下"u"键来撤销上一次的编辑操作,如果需要恢复撤销的操作,可以按下Ctrl+R键。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vim编辑器命令模式——撤销与时间旅行](https://blog.csdn.net/XMWS_IT/article/details/130525389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Linux :: vim 编辑器详解:文本复制/粘贴/剪切/删除 与 撤销普通操作及撤销撤销操作](https://blog.csdn.net/weixin_53202576/article/details/131024582)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值