vim高级技巧集锦:提升vi编码效率
需积分: 13 119 浏览量
更新于2024-09-11
收藏 93KB DOC 举报
本文档是一份详尽的 Vim 编辑器技巧指南,主要针对已经有一定 Vim 使用基础的人群。Vim 是一个强大的命令行文本编辑器,它在程序员和系统管理员中广受欢迎,因其高效的工作流程和丰富的插件生态系统。以下是一些关键的 Vim 技巧:
1. **复制列**:
- `%s [^ ] +$ &&`: 使用正则表达式复制每一行的最后一列,除了空格。这里的 `[^ ]` 表示所有非空格字符,`+$` 表示从行尾向前直到行结束。
2. **记忆与反向引用**:
- `:s : 2: 1`: 这个例子展示了如何通过冒号操作符 `:` 来记忆模式,将行内的两个字段互换位置。
3. **非贪婪匹配与选项原子**:
- `%s ^ { }pdf new pdf`: 删除字符串中的第一个 `pdf`,`{ }` 表示非贪婪匹配,尽可能少地匹配内容。
4. **可选原子的使用**:
- `%s# <[zy] tbl [a-z] + ># L&gc`: 这个技巧展示了如何使用可选原子 `#` 和 `[zy]`,匹配开头的可选字符,然后替换为小写形式。
5. **跨行操作**:
- `%s < { } >`: 删除多行注释,`<` 和 `>` 用于跨越多行。
6. **特殊搜索模式**:
- `/^joe.*fred.*bill/`: 匹配特定模式,如以 "joe" 开头且 "joe" 到 "fred" 之间至少有一个字符。
- `/^[A-J]\+/`: 搜索包含重复字母 A 到 J 的行。
7. **正则表达式应用**:
- `/fred_.*end`: 多行搜索,匹配包含 "fred" 和 "end" 的行。
- `/fred\|joe`: 或者匹配 "fred" 或 "joe"。
8. **匹配特定结构**:
- `/\<fred\>/i`: 区分大小写的独立单词 "fred"。
- `/\<\d\d\d\d\>`, `\D\d\d\d\d\D`, `\{4\}`: 匹配独立的四位数字的不同方式。
9. **复杂搜索**:
- `/([^0-9]\|^\)%.*%;`: 查找不包含0-9数字或行首的百分号的内容。
- `/^\n\{3}/`: 匹配三行连续的空行。
10. **正则表达式组和重复**:
- `/\(fred\).*\(joe\).*\2.*\1`: 匹配两个字符串重复出现的情况。
11. **视觉模式下的操作**:
- `vmap//y/<C-R>"<CR>`: 映射可视模式下的搜索并粘贴当前选中的文本。
- `vmap<silent>//y/<C-R>=escape(@",'\\/.*$^~[]')<CR><CR>`: 包括空白字符的搜索和粘贴。
12. **`\zs` 和 `\ze` 命令**:
- `/<\zs[^>]*">`: 这个例子展示了如何使用 `\zs` 和 `\ze` 控制搜索起始点和结束点。
这些技巧展示了 Vim 的强大功能和灵活性,熟练掌握它们可以显著提高编辑效率,尤其是在处理文本处理和编程任务时。记住,随着经验的增长,Vim 提供的命令和配置选项可以进一步扩展和自定义以适应个人偏好。
556 浏览量
190 浏览量
147 浏览量
2008-01-18 上传
262 浏览量
862 浏览量
2019-08-10 上传
2015-12-21 上传
点击了解资源详情

freeylin
- 粉丝: 0
最新资源
- AMeDAS降水量3D图演示:1小时数据分析
- React应用开发与部署指南:项目结构和脚本使用
- IIS虚拟服务器:网站搭建的利器
- 户户通机顶盒解锁及定位擦除工具使用指南
- Foobar2000:支持SACD播放的iOS文件拖拽式播放器
- Windows平台下的OpenBLAS库发布:X86与X64版本
- 经营怪物工厂挑战:打造最强恶魔之王游戏体验
- Eclipse SVN插件SVN-1.6.13安装配置教程
- TMS CETools 1.6.0.0 for PocketPC的发布与特性
- 批量导线数据简易处理与课程设计应用
- Excel VBA 2003程序员必备参考与源代码解析
- CMC5401开发资料压缩包下载
- FileZilla 3.5.3 FTP客户端安装文件解压缩指南
- 打造基础JavaScript项目框架教程
- DELPHI实现PBOC2.0核心算法工具包发布
- Java环境配置与演示程序部署流程指南