当前位置:网站首页>vim文本编辑器的一些使用小技巧
vim文本编辑器的一些使用小技巧
2022-07-29 05:42:00 【hgswnsa】
vim是什么?
vim 是一个类似于 vi 的著名的功能强大、高度可定制的文本编辑器,在 vi 的基础上改进和增加了很多特性,vim的重点是光标的移动、模式切换、删除、查找替换、复制、粘贴、撤销命令的使用。
vim的三种模式
命令模式: 可以输入快捷键进行一些操作(删除行、复制行、粘贴行、移动光标等)
输入模式: 可以对文件的内容进行编辑
末行模式: 可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)
下图是三种模式之间的相互切换以及各种模式下可以做什么

vim打开文件的方式
vim 文件名: 打开指定文件
vim +数字 文件名: 打开指定文件,并且将光标移动到指定行
vim +/关键词 文件名: 打开指定的文件,并且高亮显示关键词
vim 文件名1 文件名2 文件名3: 同时打开三个文件,怎么切换文件下面将详细讲解
执行 vim +2 aaa 命令,效果如下

执行 vim +/aaa aaa 命令,效果如下

使用vim打开多个文件,在末行模式下切换文件
在末行模式下输入 files ,并按回车
%a表示当前正在打开的文件,#表示上一个打开的文件
文件切换
1、在末行模式下输入 open 文件名 如 open bbb,并按回车
2、切换上/下一个文件
切换至上一个文件,在末行模式下输入 bp ,切换至下一个文件,在末行模式下输入 bn
vim退出的方式
末行模式下输入wq 或q 或wq!或q!
wq: 退出并保存
q: 退出不保存
wq!: 强制退出并保存
q!: 强制退出不保存
命令模式
该模式是打开文件时第一个看到的模式(打开文件即可进入)
光标移动
1、光标移动到行首 按键:shift+6 (注意是主键盘的数字,不是小键盘的数字)
2、光标移动到行尾 按键:shift+4
3、光标移动到首行 按键:gg
4、光标移动到末行 按键:G
5、翻屏 向上翻屏:ctrl+b 或 PgUp
向下翻屏:ctrl+f 或 PgDn
复制操作
1、复制光标所在行 按键:yy,粘贴:在想要粘贴的地方按下p键
2、以光标所在行为准(包含当前行),向下复制指定的行数 按键:数字 yy,粘贴:p
3、可视化复制 按键:ctrl+v 然后按上下左右方向键来选中需要复制的区块,按下yy键进行复制,最后按下p键粘贴
剪切/删除
1、剪切/删除光标所在行 按键:dd (删除之后下一行上移)
注意:dd严格来说是剪切命令,但是如果剪切了不粘贴就是删除的效果
2、剪切/删除光标所在行为准(包含当前行),向下剪切/删除指定的行 按键:数字 dd(删除之后下一行上移)
3、剪切/删除光标所在的当前行,删除之后下一行不上移 按键:D
撤销/恢复
1、撤销:输入:u 或者 u(u即undo)
2、恢复:ctrl+r (取消之前的撤销 )
扩展:光标的快速移动
1、快速将光标移动到指定的行 按键:数字 G
2、以当前光标为准向上/向下移动n行 按键:数字 ↑,数字 ↓
3、以当前光标为准向左/向右移动n字符 按键:数字 ←,数字 →
4、末行模式下的快速移动方式:移动到指定的行
在命令模式下输入英文的“:”进入末行模式,然后输入数字,按下回车
输入模式
输入 i 或 a 进入输入模式
1、在光标所在字符前开始插入 按键:i
2、在光标所在字符后开始插入 按键:a
末行模式
1、文件另存为 按键:w 路径
2、调用外部命令 按键:!外部命令(如 !ls)
3、搜索或查找 按键:/关键词
在搜索结果中切换上/下一个结果 按键:N/n
4、替换
只替换光标所在行的第一处匹配内容 按键:s/原内容/目标内容
替换光标所在行的所有匹配内容 按键:s/原内容/目标内容/g
替换所有行的第一处匹配内容 按键:%s/原内容/目标内容/
替换所有行的所有匹配内容 按键:%s/原内容/目标内容/g
%表示整个文件,g表示全局global
5、显示行号 按键:set nu(nu即number)
不显示行号 按键:set nonu
扩展:怎么保证粘贴过来的文本保持原来的样式
先在末行模式下输入 set paste,然后输入i 进入输入模式,此时左下角会出现一个“paste” 粘贴提示,这时再把文本粘贴过来,就可以保持原来的样式,不乱了
边栏推荐
- Hongke shares | testing and verifying complex FPGA design (2) -- how to perform global oriented simulation in IP core
- Share some tips for better code, smooth coding and improve efficiency
- Relationship between subnet number, host number and subnet mask
- 实战!聊聊如何解决MySQL深分页问题
- 数据库使用psql及jdbc进行远程连接,不定时自动断开的解决办法
- 2022年SQL经典面试题总结(带解析)
- Biased lock, lightweight lock test tool class level related commands
- Introduction to OSPF theory
- 【冷冻电镜】Relion4.0——subtomogram教程
- DM数据守护集群搭建
猜你喜欢

SDN topology discovery principle

SQL developer graphical window to create database (tablespace and user)

Analysis of four isolation levels of MySQL things

联邦学习后门攻击总结(2019-2022)

实战!聊聊如何解决MySQL深分页问题

AbstractQueuedSynchronizer(AQS) 之共享锁源码浅读

Condition 条件对象源码浅读

如何优雅的写 Controller 层代码?

Understanding of access, hybrid and trunk modes

N2 interface of 5g control plane protocol
随机推荐
Let the computer run only one program setting
IO流 - File - properties
Hongke shares | testing and verifying complex FPGA design (2) -- how to perform global oriented simulation in IP core
Hongke share | bring you a comprehensive understanding of "can bus error" (II) -- can error types
CDM—码分复用(简单易懂)
【技能积累】presentation实用技巧积累,常用句式
Teacher Wu Enda machine learning course notes 01 introduction
MySQL: what happens in the bufferpool when you crud? Ten pictures can make it clear
王树尧老师运筹学课程笔记 00 写在前面
【技能积累】写邮件时的常用表达
【笔记】The art of research(明白问题的重要性)
IDEA中实现Mapper接口到映射文件xml的跳转
10 frequently asked JVM questions in interviews
模拟卷Leetcode【普通】172. 阶乘后的零
模拟卷Leetcode【普通】093. 复原 IP 地址
偏向锁、轻量级锁测试工具类级相关命令
吴恩达老师机器学习课程笔记 05 Octave教程
The core of openresty and cosocket
损失函数——交叉熵损失函数
C语言数据类型