vim模式用法总结

0.前言

我们用gcc编译文件的时候,如果发生了下面的错误,那么如何用vim打开的时候就定位到?

我们可以知道,这是第6行出现了错误;
所以我们使用vim打开的时候多输入个这个,我们就可以快速定位了
vim test.c +6

一、常用模式间转换按键

命令模式:vim打开的时候默认进入命令模式,控制屏幕光标的移动,字符、字或行的删除,移动复制某区段
插入模式:进行文本的输入
底行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。

二、命令模式快捷键

一定要切换成英文输入法

1. 移动操作

|----------------------|--------------------|
| 快捷键 | 作用 |
| ^(shift + 6) | 定位到当前行的最左侧 |
| $(shift + 4) | 定位到当前行的最右侧 |
| G(shift + g) | 定位到文本末行的开头 |
| gg | 定位到文本最开始 |
| n + G(shift + g) | 定位到第n行开头 |
| h j k l | 控制光标向左,下,上,右移动 |
| w | 跳跃到下一个字的开头 |
| b | 跳跃到上一个字的开头 |
| e | 跳跃到下一个字的结尾 |
| ctrl + b | 屏幕往后移动一页 |
| ctrl + f | 屏幕往前移动一页 |

2. 复制粘贴操作:

|------------|------------------------------------------------------|
| n + yy | n = 1 复制当前行 n > 1 向下复制n行 |
| n + p | n = 1 在下一行粘贴由yy复制的文本 n > 1 在下一行粘贴n次由yy复制的文本 |

3 删除,剪切操作:

|----------------|--------------------------------------------|
| n + dd | n = 1 删除当前行 n > 1 向下删除n行 |
| n + dd + p | 将删除的再复制出来,相当于剪切 |
| n + x(小写) | n = 1 删除光标所在的字符 n > 1 向右删除n个字符 |
| n + X(大写) | n = 1 删除光标前一个字符 n > 1 向左删除光标前n个字符 |

4 撤销操作:

|--------------|---------------|
| u | 撤销我们的编辑操作 |
| ctrl + r | 对u撤销 |

5 替换操作:

|--------------|-------------------------------------------------------|
| n r + 字符 | n = 1 用你给的字符替换光标所在的字符 n > 1 用你给的字符替换光标后面n个字符 |

6 切换大小写

|--------------------|-----------|
| ~(shift + `) | 切换大小写 |

三、底行模式快捷键

使用之前切换到命令模式,按冒号进入底行模式,输入结束默认回到命令模式,所以底行模式需要每次都加个冒号才可以切换。

1. 行号和跳转到num行

|---------------|----------------|
| 快捷键 | 作用 |
| :set nu | 显示行号 |
| :set nonu | 取消显示行号 |
| : num | 跳转到文本的num行 |

2. 查找字符

|--------------|------------------------------------|
| :/ 内容 +n | 高亮内容,并且光标从头开始找,按一次n,找下一个 |
| :? 内容 +n | 高亮内容, 并且光标从最后开始找,按一次n,找上一个 |

3. 保存和退出vim

|----------|-------------|
| :q | 仅退出 |
| :q! | 强制退出 |
| :w | 仅保存 |
| :w! | 强制保存 |
| :wq | 保存并退出 |
| :wq! | 强制保存并退出 |

4. 在不退出vim下,进行命令行操作

|-----------|--------------------------|
| :! 命令 | 不退出vim,对Linux进行命令行操作 |

5. 对比不同的文件

|--------------|--------------------|
| :vs file | 当前的文件与file文件对比 |

注意⚠️⚠️:

  1. 若file不存在,系统会创建一个f名为file的文件名

但是我们不写file,退出时file销毁

当我们写入file,file存在

  1. 在比较的时候,我们的底行是和光标所处一个文件的

  2. 按住ctrl + w+w 切换光标所处的窗口

6. 查找vim的模式

:help vim-modes

四、视图模式快捷键

ctrl v进入视觉模式

视觉模式:用来批量化注释的

1. 批量化注释

**步骤1:**hjkl(或者键盘的上下左右键)进行注释部分的选择,可以控制鼠标一起

步骤2: I (shift + i),进入插入模式

步骤3: 在当前行输入 // (注释符号)

步骤4: esc(2次) 完成注释

2. 撤销注释

先进入视图模式 ctrl v
**步骤1:**hjkl(或者键盘的上下左右键)进行注释部分的选择,可以控制鼠标一起

步骤2: d

相关推荐
Johny_Zhao14 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux