Vim 高级操作技巧:行号、宏、格式化与多文件处理
需积分: 12 109 浏览量
更新于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用户提高编辑效率,更灵活地处理文本和文件。熟练掌握这些技巧,能够让你在编程和文本编辑中更加得心应手。
2010-01-18 上传
2014-01-19 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
freeylin
- 粉丝: 0
- 资源: 4
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜