Vim编辑器实用技巧:快捷操作与命令汇总
下载需积分: 5 | TXT格式 | 7KB |
更新于2024-09-09
| 155 浏览量 | 举报
"vim高频实用命令整理"
在程序员的日常工作中,`vim` 是一个不可或缺的文本编辑器。它以其高效快捷的操作方式深受喜爱。本文将详细介绍 `vim` 的一些高频命令,帮助用户快速掌握和使用。
1. **插入模式与正常模式**:
- `i`:进入插入模式,可以在当前光标位置开始输入。
- `ESC`:从插入模式返回正常模式。
- `:help<command>`:在正常模式下,输入此命令可以查看特定命令的帮助文档,例如 `:help i`。
2. **移动与编辑**:
- `I`:在行首开始插入。
- `A`:在行尾开始插入。
- `o`:在当前行下方新建一行开始插入。
- `O`:在当前行上方新建一行开始插入。
- `r`:替换当前字符。
- `R`:连续替换模式,按 `ESC` 结束。
- `cw`:改变单词,删除光标所在单词至下一个单词的首字符。
- `<<` 和 `>>`:向左或向右缩进当前行。
- `~`:翻转当前字符的大小写。
3. **复制与粘贴**:
- `yv` 或 `V`:选择可视模式下的行或字符进行复制。
- `y0` 和 `y$`:复制到行首或行尾。
- `p` 和 `P`:在光标后或前粘贴。
- `3p`:重复粘贴3次。
- `yy`:复制当前行。
- `nyy`:复制当前行及其下面n行。
4. **删除**:
- `d0` 和 `d$`:删除到行首或行尾。
- `D`:删除到行尾。
- `dd`:删除当前行。
- `nx` 和 `X`:删除光标后的n个字符或光标前的字符。
- `2dd`:删除2行。
5. **撤销与重做**:
- `u`:撤销上一步操作。
- `U`:撤销对整行的修改。
- `<C-r>`:重做已撤销的操作。
6. **跳转**:
- `h`, `j`, `k`, `l`:分别向左、下、上、右移动光标。
- `30j`:向下移动30行。
- `space` 和 `Backspace`:向前或向后移动半屏。
- `Ctrl+u` 和 `Ctrl+d`:向上或向下滚动一屏。
- `Ctrl+b` 和 `Ctrl+f`:向后或向前翻页。
- `Ctrl+e` 和 `Ctrl+y`:滚动屏幕向上或向下。
- `Ctrl+l`:清空屏幕。
- `nG`:跳转到第n行。
- `G`:跳转到文件末尾。
- `ngg`:跳转到第n行的开头。
- `Gn`:跳转到第n行的末尾。
- `(` 和 `)`:跳转到当前段落的开始或结束。
- `{` 和 `}`:跳转到当前代码块的开始或结束。
- `[[` 和 `]]`:跳转到当前函数或代码结构的开始或结束。
- `nz`:将光标移动到当前行的第n列。
- `nH`, `nM`, `nL`:将光标移动到屏幕的第n行顶部、中间和底部。
7. **查找与替换**:
- `/pattern`:向后查找模式。
- `?pattern`:向前查找模式。
- `*` 和 `#`:查找当前单词的下一个或上一个出现。
- `%`:匹配括号并跳转到对应括号。
- `:s/pattern/replacement/flags`:在当前行替换模式。
- `:g/pattern/command`:全局查找模式并执行命令。
- `n` 和 `N`:在查找结果中向前或向后移动。
8. **块选择与操作**:
- `<C-v>`:开始块选择。
- `0` 和 `$`:选择到行首或行尾。
- `I`:在块选中的每一行行首插入。
- `A`:在块选中的每一行行尾插入。
- `:`:在块选中的每一行开始执行命令。
9. **其他常用命令**:
- `^`:跳转到非空白字符处。
- `g_`:跳转到当前行的最后一个非空白字符。
- `w`:跳转到下一个单词的开始。
- `e`:跳转到当前单词的结束。
- `f` 和 `t`:查找字符并跳过,`F` 和 `T` 是反向查找。
- `%`:在括号之间跳转。
- `:0y$`:复制整个文件内容到剪贴板。
熟悉并掌握这些 `vim` 命令,能够极大提高编程效率,使你在文本编辑领域如鱼得水。记住,实践是掌握技能的关键,多用 `vim` 编辑文件,逐渐习惯这些命令,你会发现它们的强大之处。
相关推荐








mysky_shy
- 粉丝: 0
最新资源
- H3C解码SDK开发包V2.01:全平台支持与多媒体流处理
- 创新合同管理系统软件 功能亮点解析
- Java生成Excel与CSV文件的比较与实践
- POS58并口与USB打印驱动安装指南
- 绿色免安装屏幕共享工具
- 雨石网吧计费管理软件V1.1:官方免费版本功能解析
- CZ1115项目:电影收入预测分析与实践
- EJB3.0分布式事务处理及配置实例详解
- 搭建Spring Boot与Angular的Tok开发环境指南
- Java单表动态查询实现:无需繁琐查询方法
- 小米手机预约助手V1.0版,快速预约不是梦
- Java开发实现附近人定位交互功能
- 宏碁EG31M V1.1主板BIOS更新指南
- 解决Hackerrank SQL问题的MySQL方案
- 安卓系统蓝牙通信源码分析与本地连接教程
- C++实现球心拟合的最小二乘算法及案例分析