当前位置:网站首页>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键
边栏推荐
- 数据湖:数据同步工具NiFi
- 微信小程序接口调用凭证(获取token)auth.getAccessToken接口开发
- Introduction to the basic principles, implementation and problem solving of crawler
- matlab 风速模型 小波滤波
- 响应式织梦模板园林景观类网站
- CSP-S2019 Day1
- 2022.7.27好题选讲
- datagrip 报错 “The specified database userpassword combination is rejected...”的解决方法
- torch
- 信息系统项目管理师必背核心考点(五十六)配置控制委员会(CCB)的工作
猜你喜欢

NIO programming

Using FiddlerScript caught poly FiddlerScript 】 【 download

Detailed explanation of the crawler framework Scrapy

MySQL row locks and gap locks

Srping bean in the life cycle

奇葩问题 npm install 报错 gyp ERR

MVVM project development (commodity management system 1)

金山打字通 官网 下载

matlab 风速模型 小波滤波

AspNet.WebApi.Owin 自定义Token请求参数
随机推荐
sum of special numbers
Selenium: Dropdown Box Actions
小白的0基础教程SQL: 什么是SQL 01
特别数的和
使用string 容器翻转 字母
Jupyter shortcuts
信息系统项目管理师必背核心考点(五十六)配置控制委员会(CCB)的工作
uva10825
NUMPY
leetcode125 Verify palindrome string
MVVM project development (commodity management system 1)
matplotlib pyplot
响应式织梦模板园林花卉类网站
金山打字通 官网 下载
Introduction to the basic principles, implementation and problem solving of crawler
05-SDRAM: Arbitration
MVVM项目开发(商品管理系统一)
声音信号处理基频检测和时频分析
NUMPY
CSP-S2019 Day1