Vim编辑器实用技巧:快捷操作与命令汇总
需积分: 5 181 浏览量
更新于2024-09-09
收藏 7KB TXT 举报
"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` 编辑文件,逐渐习惯这些命令,你会发现它们的强大之处。
2021-09-29 上传
2008-11-20 上传
2021-01-20 上传
点击了解资源详情
2021-01-09 上传
mysky_shy
- 粉丝: 0
- 资源: 5
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南