当前位置:网站首页>Advanced usage of vim configuration
Advanced usage of vim configuration
2022-08-02 17:36:00 【linyxg】
一.vim的三种模式
vim是全球两大流行文本编辑器之一
- 命令模式(浏览模式):
- Only to the file content browsing
- 对vim的工作方式进行设定
- 不能修改文件内容
- 插入模式 ------对文件内容进行修改的模式
- 退出模式 ------结束vim程序使用到的指令
- vimtutor命令 ------ 打开vim手册获得帮助
二.vim工作的基本配置
In command mode changevim的工作方式
- 临时设定
:set nu | 显示行号 |
---|---|
:set nonu | 取消行号显示 |
:set mouse=a | 鼠标可用 |
:set cursorline | 显示光标所在行的行线 |
- 永久设定
1.适用于所有用户
编辑vim配置文件:vim /etc/vimrc
输入设置命令 :set nu
2.Applies only to specify a user
Edit user levelvim配置文件:vim ~/.vimrc
三.搜索
方式 | 功能 |
---|---|
/关键字 | 高亮显示关键字 |
:noh | 取消高亮显示 |
n | 向下匹配关键字 |
N | 向上匹配关键字 |
四.vim中的字符管理
1.复制
y | 复制快捷键 |
---|---|
yl | 复制一个字母 |
y3l | 复制三个字母 |
yw | 复制一个单词 |
y3w | 复制三个单词 |
yy | 复制一行 |
y3y | 复制三行 |
2. 删除
d | 删除的快捷键 |
---|---|
dl | 删除一个字母 |
dx | 删除一个字母 |
d3l | 删除三个字母 |
dw | 删除一个单词 |
d3w | 删除3个单词 |
dd | 删除一行 |
d3d | 删除3行 |
3. 剪切
c | 剪切 |
---|---|
cl | 剪切1个字母 |
c3l | 剪切3个字母 |
cw | 剪切1个单词 |
c3w | 剪切3个单词 |
cc | 剪切1整行 |
c3c | 剪切3整行 |
注意:
剪切操作完毕后会进入到插入模式
如果要粘贴需要按退出插入模式按
4. 粘贴
p :在命令模式下p表示粘贴
Copy and cut after all need to paste
5. 恢复
u :在命令模式下输入uCan be restored to step on to play
6. 撤销
< ctrl >+< R > :Undo step played on operation
五.vim可视化模式
< ctrl >+< v >进入可视化模式
退出可视化模式
批量添加字符:
1.< ctrl > + < v > 选中插入字符所在列
2.按大写进入插入模式
3.插入要写入的字符
4.退出插入模式
批量添加完成
六.批量修改字符
- Modify the full character:
:%s/原字符/替换字符/g (%s全文的行 g全文的列)
- Modify the specified line character:
:5,7 s/ : /#*/g
- Changes between the fixed position of the character:
:/root/,/adm/s/b/###/g ------> /root/,/adm/ l p 字符到halt字符之间的
七.vim的分屏功能
Synchronous split screen
< ctrl > + < w > < s >##上下分屏
< ctrl > + < w > < v > 左右分屏
< ctrl > + < w > <上|下|左|右> 光标移动
< ctrl > + < w > < c > 取消分屏
不同不分屏
:sp file1
vim -o file1 file2 -----> u|d
vim -p file1 file2 -----> l|r
八.vim中快速定位光标
gg | 光标移动到文件第一行行首 |
---|---|
G | 光标移动到最后一行 |
:数字 | 光标移动到指定行 |
九.vim插入模式进入方式
i | 光标所在位置插入 |
---|---|
I | 光标所在行行首插入 |
A | 光标所在行的行尾插入 |
a | 光标所在字符的下一个字符插入 |
o | 光标所在行的下一行插入 |
O | 光标所在行的上一行插入 |
s | 删除光标所在字符插入 |
S | 删除光标所在行插入 |
十.vim退出模式
:wq | 保存退出 |
---|---|
:wq! | 强行保存退出只有文件是自己的或者root用户可用 |
:q | 退出 |
:q! | 强制退出不保存 |
边栏推荐
- MySQL 高级(进阶) SQL 语句 (一)
- Win 10、Win 11 安装 MuJoCo 及 mujoco-py 教程
- MySQL 的几种碎片整理方案总结(解决delete大量数据后空间不释放的问题)
- servlet交互过程图详解,servlet的常见问题,创建web项目(一)
- TMS320C6678开发板( DSP+Zynq )RTOS综合功能案例,嵌入式必看!
- CNN flower classification
- 遍历堆 PAT甲级 1155 堆路径
- Application software code signing certificate
- Qt | 关于 Qt Creator 打开项目编译不过的问题
- Qt | 事件系统 QEvent
猜你喜欢
Application software code signing certificate
【 Leetcode string, the string transform/hexadecimal conversion 】 HJ1. The length of the string last word HJ2. Calculation of a certain number of characters appear HJ30. String merging processing
矩阵的特征值与特征向量
【无标题】
Vest bag access process record
【Leetcode字符串--字符串变换/进制的转换】HJ1.字符串最后一个单词的长度 HJ2.计算某字符出现次数 HJ30.字符串合并处理
Servlet运行原理_API详解_请求响应构造进阶之路(Servlet_2)
面试了个阿里P7大佬,他让我见识到什么才是“精通高并发与调优”
【Untitled】
机械键盘失灵
随机推荐
MySQL----多表查询
Qt | 事件系统 QEvent
23.支持向量机的使用
为什么我不再推荐枚举策略模式?
Qt | Qt 的项目文件.pro 文件详解
看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!
MySQL 行级锁(行锁、临键锁、间隙锁)
How to use PHP to implement lexical analyzer and custom language
矢量图的作用与工具
已经2022下半年了,居然还在说链动2+1!
【无标题】
《数字经济全景白皮书》银行业智能风控科技应用专题分析 发布
IPtables and binlog
Apache的管理及web优化
Qt | 关于容器类的一些总结
PAT Class A 1078 Hash
Servlet基础详解
mysql 索引使用与优化
UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 178: illegal multibyte s
【go-zero】go-zero 框架踩坑指南 Q&A (持续更新中)