当前位置:网站首页>Vim三种模式
Vim三种模式
2022-08-01 06:38:00 【The code family】
一、命令模式
注意:该模式是打开文件的第一个看到的模式(打开文件即可进入)
1、光标移动
① 光标移动到行首
按键:shift +6或者^ (T 字母上面的6,不要按小键盘的6)
② 光标移动到行尾
按键: shift +4或者$ (R字母上面的4,不要按小键盘的4)
③ 光标移动到首行
按键:gg
④ 光标移动到末行
按键:G
⑤ 翻屏
向上翻屏:按键 ctrl +b(before)或者PgUp
向下翻屏:按键 ctrl +f(after)或者PgDn
2、复制操作
① 复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p 键
② 以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字 yy
③ 可视化复制
按键:ctrl +v 然后按下↑ ↓ ← →方向键来选中需要复制的区块,按下yy键进行复制,最后按下p键进行粘贴
退出可视化:按键 按俩下Esc
3、剪切/删除
① 剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd 严格意义上说是剪切命令,但是如果用了剪切不黏贴就是删除的效果
② 剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字 dd (删除之后下一行上移)
③ 剪切/删除光标所在的当前行,但是删除之后下一行不上移
按键:D (删除之后当前行会变成空白行)
4、撤销/恢复
撤销 按键:输入 :u(不属于命令模式) 或者 u(undo)(属于命令模式)
恢复:ctrl +r 恢复(取消)之前撤销的操作
5、扩展1:光标的快速移动
①快速将光标移动到指定的行数
按键:数字 G
②以当前光标为准向上/向下移动n行
按键:数字 ↑,数字↓
③以当前光标为准向左/向右移动n字符
按键:数字←,数字→
④末行模式下的快速移动方式:移动到指定的行
按键:输入英文“:”,其后输入行数数字,按下回车
二、模式间的切换(重点)
三、末行模式
进入方式:由命令模式进入,按下 “:”或者“/ (表示查找)”即可进入
退出方式:
a. 按下esc
b. 连按2次esc键
c. 删除末行全部输入字符
1、保存操作 (write)
输入:“:w” 保存文件
输入:“:w 路径” 另存为
2、退出(quit)
输入:“q” 退出文件
3、保存并退出
输入:“:wq” 保存并退出文件
4、强制(!)
输入:“:q!” 表示强制退出,刚才做的修改操作不做保存
5、调用外部命令(了解)
输入:“:!外部命令”
例如
当外部命令执行结束之后按下任意键回到vim编辑器打开的内容
6、搜索/查找
输入“/ 关键词”
例如:我想在passwd 文件中搜索"sbin" 关键词
在搜索结果中切换上/下 一个结果:N/n (next)
如果需要取消高亮则需要输入:“nohl”(no highlight)
7、替换 (string replace)
①:s/搜索的关键词/新的内容 (替换光标所在行的第一处符合条件的内容)
②:s/搜索的关键词/新的内容/g (替换光标所在行的全部符合条件的内容)
③:%s/搜索的关键词/新的内容 (替换整个文档中每行第一个符合条件的内容)
④:%s/搜索的关键词/新的内容/g (替换整个文档符合条件的内容)
%:表示整个文档
g: 表示全局(global)
8、显示行号
输入:“:set nu”(number)
如果想取消,则输入“:set nonu”
9、扩展2:使用vim同时打开多个文件,在末行模式下进行切换文件
查看当前已将打开的文件的名称:“:files”
注意:在%a的位置有2种显示可能
%a:a=active,表示当前正在打开的文件
#:表示上一个打开的文件
切换文件的方式:
a.如果需要指定切换文件的名称,则可以输入:“:open 已经打开的文件名”
例如:“:open password”
b.可以通过其它命令来切换上一个文件/下一个文件
输入:“:bn”切换到下一个文件 (backnext)
输入:“:bp”切换到上一个文件 (backprevious)
四、编辑模式
进入方式:
i: 在光标所在字符前开始插入
a: 在光标所在字符后开始插入
o: 在光标所在行的下面另起一新行插入
I: 在光标所在行的行首开始插入如果行首有空格则在空格之后插入
A: 在光标所在行的行尾开始插入
O: 在光标所在行的上面另起一行开始插入
S: 删除光标所在行并开始插入
重点看前2个进入方式:i(insert)、a(after)
退出方式:
按一下Esc键
边栏推荐
猜你喜欢
安装SQL Server详细教程
mysql中添加字段的相关问题
Three aspects of Ali: How to solve the problem of MQ message loss, duplication and backlog?
Introduction to the basic principles, implementation and problem solving of crawler
"By sharing" northwestern university life service | | bytes a second interview on three sides by HR
Robot_Framework: keyword
MySQL row locks and gap locks
仿牛客网讨论社区项目—项目总结及项目常见面试题
零代码网站开发利器:WordPress
leetcode43 string multiplication
随机推荐
Leetcode第 304 场周赛
从离线到实时对客,湖仓一体释放全量数据价值
【音视频】srs直播平台搭建
NIO programming
leetcode43 字符串相乘
JS的运行原理
Does flinkcdc have any solution for mysql's date field type conversion?
【翻译】确保云原生通信的安全:从入口到服务网及更远的地方
上课作业(7)——#598. 取余运算(mod)
uva10825
小白的0基础教程SQL: 安装MYSQL 03
uva12326
Selenium: Dropdown Box Actions
MySQL row locks and gap locks
微信小程序获取手机号phonenumber.getPhoneNumber接口开发
Hunan institute of technology in 2022 ACM training sixth week antithesis
LeetCode 0149. 直线上最多的点数
ORACLE modify another user package (package)
特别数的和
第5章——以程序方式处理MySQL数据表的数据