当前位置:网站首页>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键
边栏推荐
猜你喜欢
「游戏引擎 浅入浅出」4.1 Unity Shader和OpenGL Shader
crypto-js uses
Data organization -- singly linked list of the linear table
爆肝3万字,最硬核丨Mysql 知识体系、命令全集 【建议收藏 】
数据机构----线性表之单向链表
从购买服务器到网站搭建成功保姆级教程~超详细
2022.7.26 Mock Competition
【视觉SLAM十四讲】第一章理论详解
滚动条样式修改
Explosive 30,000 words, the hardest core丨Mysql knowledge system, complete collection of commands [recommended collection]
随机推荐
More than 2022 cattle guest school game 4 yue
MATLAB program design and application of MATLAB 2.5
Srping bean in the life cycle
用位运算为你的程序加速
「面经分享」西北大学 | 字节 生活服务 | 一面二面三面 HR 面
特别数的和
matlab simulink 粒子群优化模糊pid控制的电机泵
爬虫基本原理介绍、实现以及问题解决
NUMPY
对话MySQL之父:一个优秀程序员可抵5个普通程序员
ORACLE 实现另外一个用户修改包(package)
从底层结构开始学习FPGA(6)----分布式RAM(DRAM,Distributed RAM)
The BP neural network based on MATLAB voice characteristic signal classification
weight distribution
uva10825
Information system project managers must recite the work of the core test site (56) Configuration Control Board (CCB)
curl (7) Failed connect to localhost8080; Connection refused
uva12326
uva10825
flinkcdc对mysql的date字段类型转化有什么解决思路么