当前位置:网站首页>文本编辑器vim
文本编辑器vim
2022-08-10 02:43:00 【qq_45122293】
vim工作模式
插入命令
插入命令
a 在光标所在字符后插入
A 在光标所在行尾插入
i 在光标所在字符前插入
I 在光标所在行行首插入
o 在光标下插入新行
O 在光标上插入新行
例子1
在命令模式下按 i
在命令模式下按 a
通过上面三个图来解释一下 i 和 o 的区别,i 是在光标所在字符前插入,这里的光标所在字符是指在命令模式下按 i 前的光标所在字符(本例中即 d 所在的位置 ),所以按下 i 后光标的位置不变,新的字符将插入在 d 前。a 是在光标所在的字符后插入,因此新的字符将插入在 d 后,所以在命令模式下按下 a 后光标将移动到 !的位置。这里我想说明的是上文中叙述的在光标所在字符前或字符后插入中的光标所在字符是指在命令模式下还未插入字符前的光标所在字符,一旦进入插入模式,新输入的字符都将出现在光标之前(无论是 i 还是 o)。
定位命令
定位命令
:set nu 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行
$ 移至行尾
0 移至行首
删除命令
删除命令
x 删除光标所在处字符
nx 删除光标所在处后n个字符 (包括所在处字符共n个字符)
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到文件末尾内容
D 删除光标所在处到行尾内容
:n1,n2d 删除指定范围的行 (n1,n2是指定行号的两个数字)
复制和剪切命令
复制和剪切命令
yy 复制当前行
nyy 复制当前行以下n行 (算上当前行共n行)
dd 剪切当前行
ndd 剪切当前行一下n行 (算上当前行共n行)
p、P 粘贴在当前光标所在行下或行上
这里dd命令是剪切命令,上面的删除命令中介绍dd 是删除命令,实际上dd是剪切的,如果不复制的话也就相当于是删除了。
替换和取消命令
替换和取消命令
r 取代光标所在处字符
R 从光标所在处开始替换字符,按esc键结束
U 取消上一步操作
搜索和搜索替换命令
搜索和搜索替换命令
/string 搜索指定字符串(搜索时不区分大小写:set ic,区分大小写:set noic ,默认区分)
n 搜索指定字符串的下一个出现位置
:%s/old/new/g 全文替换指定字符串 (g不询问,c会有询问确认,下一个命令也一样)
:n1,n2s/old/new/g 在一定范围内替换指定字符串
比如我们想要在一个文件中搜索ftp,则可以在命令模式下输入"/ftp",则该文件中第一个出现的ftp就会被显示出来,可以按n查看下一个ftp出现的位置,可以在命令模式下输入"%s/ftp/test/g"命令将该文件中的所有ftp都替换未test,如果把命令中的g换成c,则替换前会有询问。再比如我们想要将第100至200行中的ftp替换成test,则可以输入":100,200s/ftp/test/g"命令(替换前可以用:set nu来显示行号)。
保存和退出命令
保存和退出命令
:w 保存修改
:w new_filename 另存为指定文件
:wq 保存修改并退出
ZZ 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者及root可使用)
这里解释一下":wq"和":wq!"的区别。如果一个文件的权限为“r--r--r--”,即无论是该文件的所有者、所属组还是其它对该文件都只能读不能写,假如该文件的所有者使用vim修改该文件,当用":wq"保存时会提示没有修改权限,这时用":wq!"则能修改成功。注意,":wq!"只有文件所有者及root可使用。
边栏推荐
- 【Kali安全渗透测试实践教程】第7章 权限提升
- 使用flink-sql写入mysql的时候,只指定插入的字段,但是会报错id字段错误,没有默认值,创
- 维度表设计
- Will signal with different start time alignment
- MMDetection框架的anchor_generators.py解析
- 驱动程序开发:按键中断之异步通知
- 实例048:数字比大小
- 2022.8.9 Remainder of Exam Balance--1000 Question Solutions
- 单体架构应用和分布式架构应用的区别
- Example 047: Functions Swap Variables
猜你喜欢
随机推荐
单体架构应用和分布式架构应用的区别
[Red Team] ATT&CK - Auto Start - Registry Run Key, Startup Folder
实例047:函数交换变量
Pycharm中6个常用插件推荐
MySQL:你做过哪些MySQL的优化?
Example 046: Breaking the Cycle
2022.8.9考试平衡的余数--1000题解
flutter 制作嵌套列表
实例044:矩阵相加
使用curl指令发起websocket请求
【图像分类】2022-ResMLP
Example 047: Functions Swap Variables
Arcgis进阶篇(1)——安装Arcgis Enterprise,创建sde库
二维空间下的向量旋转
推荐几款好用的MySQL开源客户端,建议收藏
2022.8.8考试游记总结
二进制与内存
【红队】ATT&CK - 自启动 - 利用LSA身份验证包自启动机制
MySQL: Introduction to Logging System | Error Log | Query Log | Binary Log: Bin-log Data Recovery Practice | Slow Log Query
GDB command basic parameters