Vim编辑器实用技巧:快捷操作与命令汇总
需积分: 5 179 浏览量
更新于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` 编辑文件,逐渐习惯这些命令,你会发现它们的强大之处。
2347 浏览量
494 浏览量
295 浏览量

mysky_shy
- 粉丝: 0
最新资源
- 快速搭建JavaScript项目与Python环境指南
- 探索iOS 16真机调试包的安全特性
- C#打造简易库存管理系统与类图设计
- Java实现BDSCASD轨迹聚类算法DBSCANSD研究
- 掌握Android文件存储:实例源代码解析
- 微博热搜数据自动化爬取与可视化展示
- VxWorks实时系统框架实验:多任务管理与源码分析
- VS2008下MFC GPRS服务端数据处理及ADO数据库操作
- OpenCV模块编译为JavaScript:Emscripten转换教程
- 创建Windows服务:MyWindowsService项目的全面解析
- TinyDispatcher:使用ES6实现的轻量级事件调度器
- ZebraDesigner.Pro条形码打印软件使用教程
- jQuery实现带Logo的二维码生成教程
- JKQ工具qmap:C++实现量子电路高效映射
- 氟流编程抽象的运行演示与优势解析
- ESLint配置集:为Salesforce Commerce Cloud提供优化方案