Vim 高级操作技巧:行号、宏、格式化与多文件处理
需积分: 12 184 浏览量
更新于2024-09-11
收藏 83KB DOC 举报
"这篇资源主要介绍了vim编辑器的一些高级技巧,包括插入行号、行号显示的开关、自定义行编号、文本过滤、格式化文本、多文件操作以及命令行技巧等,适合有一定vim基础的用户提升编辑效率。"
1. **插入行号**:
- `:g/^/exec "s/^/".strpart(line("."),"", 0, 4)` 这个命令可以将所有行的开始插入当前行号,但只显示前四位。
- `%s/^/\=strpart(line(".")," ", 0, 5)` 则会替换每一行的开始,插入带有空格的当前行号,显示五位数。
- `%s/^/\=line('.').' '` 同样替换每一行开头,插入不带空格的当前行号。
2. **行号显示开关**:
- `:set number` 命令用来显示行号。
- `:map <F12> :set number!<CR>` 将 `<F12>` 键映射为切换行号显示的快捷键。
3. **自定义行编号**:
- `'a,'b!perl -pne 'BEGIN{$a=223} substr($_,2,0)=$a++'` 使用perl脚本从指定行开始编号。
4. **产生数字列表**:
- `qqmnYP` 开始录制宏 `q`,选择一个范围,然后粘贴并增加行号。
- ``n^Aq` 结束宏并用 `@q` 重复宏,实现对整个文件或选中范围的操作。
5. **粘贴寄存器与过滤非可打印字符**:
- `:'a,'by*` 复制一个范围到粘贴寄存器。
- `%y*` 复制括号匹配的内容到粘贴缓冲区。
- `.y*` 复制当前行到粘贴缓冲区。
- `nmap<leader>p:let@*=substitute(@*,'[^[:print:]]','','g')<cr>"*p` 将剪贴板内容过滤掉非可打印字符。
6. **文本格式化**:
- `gq}`、`gqap` 和 `ggVGgq` 分别用于格式化当前段落、整个文档和选中段落。
- `:s/.\{,69\};\s*\|.\{,69\}\s\+/\&\r/g` 在70列时强制换行。
7. **多文件操作**:
- `:argdo`、`:bufdo` 和 `:windo` 都可以配合 `%s` 命令在多个文件中进行操作。
- `:argdo exe '%!sort' | w!` 通过外部命令对所有文件进行排序并保存。
8. **命令行技巧**:
- `gvim -h` 显示帮助。
- `ls | gvim -` 管道操作。
- `cat xx | gvim --c"v/^\d\d\|^[3-9]/d"` 从管道输出过滤内容。
- `gvim -o file1 file2` 分割窗口显示多个文件。
- `gvim.exe -c "/main" joe.c` 打开文件并跳转到指定行。
- 可以在打开文件时执行多条命令,如替换、更新等。
这些技巧可以帮助vim用户提高编辑效率,更灵活地处理文本和文件。熟练掌握这些技巧,能够让你在编程和文本编辑中更加得心应手。
161 浏览量
218 浏览量
261 浏览量
331 浏览量
217 浏览量
点击了解资源详情
243 浏览量
137 浏览量
点击了解资源详情

freeylin
- 粉丝: 0
最新资源
- 微信小程序扫码借阅系统PHP后端开发指南
- Samba Denywrite-基于IP和路径的只读控制开源模块
- 掌握CCNP必备工具:Boson.NetSim模拟器详解
- MyBatis与Spring整合完美解决方案
- DailyLocalGuide: 探索本地交易与优惠的Chrome新标签扩展
- 仿网易严选商品详情页的iOS展示Demo
- 安卓日记本:提升删除日记功能完整性的解决方案
- Whip:快速高效IP信息查询与管理工具
- 探索PathFindingVisualizer:寻路算法的直观呈现
- 探索WinHttp POST工具:高级网站数据采集技术
- 提取文件版本信息与模块的终极指南
- 黑色导航大图酒店管理企业网站模板下载
- Swift新手实践教程:创建交互式转盘动画
- 掌握SpringCloud微服务:源码实战解析
- 构建跨平台通用客户端套接字库 libKBEClient
- MakeMyTrip浏览器好友优惠扩展:最新优惠一触即达