Vim 实用技巧

Vim 实用技巧
编辑推荐
Vim 是程序员、网站开发人员及系统管理员的重要工具,其速度和效率令其他的文本编辑器难以望其项背。 Vim 能在几乎每一个系统上运行,并支持大多数编程语言和标记语言。 本书包含了 Vim 的实用技巧和使用指南。全书概括了 12 1 个技巧,通过丰富的示例、清晰的体例和详细的讲解,展示了高效使用 Vim 的崭新方法。
现在,Vim 新手问我该怎么学习,我知道怎么回答他们了。这本书甚至教会我一些事情。 ——T im P o p e , V i m 核心贡献者
Vim 是一款文本编辑器,但是由于其陡峭的学习曲线,很多人还没开始使用就已经放弃了,所以他们无法领略 Vim“唯快不破”的设计思想和精巧的使用体验。 我本人是 Vim 的重度用户,使用 Vim 处理文本文档和编程超过十年之久,曾经写过很多介绍 Vim 的文章,也曾经有过为 Vim 写一本书的念头,直到我看到这本《Vim 实用技巧》。书中的内容远远超过我所知所想,如果你以为自己是个 Vim 中级用户,读完前 3 章后,你就会发现自己依然是个初学者。在 Vim 领域,把此书誉为“宝藏”并不为过! 除了实用的技巧之外,作者在写书的过程中还穿插介绍了很多软件设计的思想,同样值得软件从业者思考。 如果你不想把自己的时间浪费在重复和低效上,请阅读这本书。 如果你想让你的手指思考,请阅读这本书。 ——池建强,《MacTalk·人生元编程》作者
内容简介
内容提要
Vim 是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中得到非常广泛的使用。Vim 能够大大提高程序员的工作效率。对于 Vim 高手来说,Vim 能以与思考同步的速度编辑文本。同时,学习和熟练使用 Vim 又有一定的难度。 本书为那些想要提升自己的程序员编写,阅读本书是熟练掌握高超的 Vim 技巧的必由之路。全书共 21 章,包括 123 个技巧。每一章都是关于某一相关主题的技巧集合。每一个技巧都有针对性地解决一个或一类问题,帮助读者提升 Vim 的使用技能。本书示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以帮助读者快速掌握和精通 Vim。 本书适合想要学习和掌握 Vim 工具的读者阅读,有一定 Vim 使用经验的程序员,也可以参考查阅以解决特定的问题。
作者简介
Drew Neil 是一位独立程序员、作家和培训师。他在世界各地参加研讨会、经常在会议上发言,并专门从事制作教学视频的工作。
目录
第 1 章 Vim 解决问题的方式 1
- 技巧 1 认识 . 命令 1
- 技巧 2 不要自我重复 4
- 技巧 3 以退为进 6
- 技巧 4 执行、重复、回退 7
- 技巧 5 查找并手动替换 9
- 技巧 6 认识 . 范式 11
第一部分 模式
第 2 章 普通模式 14
- 技巧 7 停顿时请移开画笔 14
- 技巧 8 把撤销单元切成块 15
- 技巧 9 构造可重复的修改 16
- 技巧 10 用次数做简单的算术运算 18
- 技巧 11 能够重复,就别用次数 20
- 技巧 12 双剑合璧,天下无敌 22
第 3 章 插入模式 26
- 技巧 13 在插入模式中可即时更正错误 26
- 技巧 14 返回普通模式 27
- 技巧 15 不离开插入模式,粘贴寄存器中的文本 28
- 技巧 16 随时随地做运算 30
- 技巧 17 用字符编码插入非常用字符 31
- 技巧 18 用二合字母插入非常用字符 32
- 技巧 19 用替换模式替换已有文本 32
第 4 章 可视模式 34
- 技巧 20 深入理解可视模式 34
- 技巧 21 选择高亮选区 36
- 技巧 22 重复执行面向行的可视命令 38
- 技巧 23 只要可能,最好用操作符命令,而不是可视命令 39
- 技巧 24 用面向列块的可视模式编辑表格数据 42
- 技巧 25 修改列文本 43
- 技巧 26 在长短不一的高亮块后添加文本 45
第 5 章 命令行模式 47
- 技巧 27 认识 Vim 的命令行模式 47
- 技巧 28 在一行或多个连续行上执行命令 50
- 技巧 29 使用‘:t’和‘:m’命令复制和移动行 54
- 技巧 30 在指定范围上执行普通模式命令 57
- 技巧 31 重复上次的 Ex 命令 59
- 技巧 32 自动补全 Ex 命令 60
- 技巧 33 把当前单词插入命令行 62
- 技巧 34 回溯历史命令 63
- 技巧 35 运行 Shell 命令 65
- 技巧 36 批处理运行 Ex 命令 69
第二部分 文件
第 6 章 管理多个文件 74
- 技巧 37 用缓冲区列表管理打开的文件 74
- 技巧 38 用参数列表将缓冲区分组 77
- 技巧 39 管理隐藏缓冲区 80
- 技巧 40 将工作区切分成窗口 82
- 技巧 41 用标签页将窗口分组 85
第 7 章 打开及保存文件 88
- 技巧 42 用:edit 命令打开文件 88
- 技巧 43 使用:find 打开文件 91
- 技巧 44 使用 netrw 管理文件系统 93
- 技巧 45 把文件保存到不存在的目录中 96
- 技巧 46 以超级用户权限保存文件 97
第三部分 更快地移动及跳转
第 8 章 用动作命令在文档中移动 102
- 技巧 47 让手指保持在本位行上 102
- 技巧 48 区分实际行与屏幕行 105
- 技巧 49 基于单词移动 107
- 技巧 50 对字符进行查找 109
- 技巧 51 通过查找进行移动 113
- 技巧 52 用精确的文本对象 选择选区 115
- 技巧 53 删除周边,修改内部 119
- 技巧 54 设置位置标记,以便 快速跳回 120
- 技巧 55 在匹配括号间跳转 122
第 9 章 在文件间跳转 125
- 技巧 56 遍历跳转列表 125
- 技巧 57 遍历改变列表 127
- 技巧 58 跳转到光标下的文件 128
- 技巧 59 用全局位置标记在文件间快速跳转 131
第四部分 寄存器
第 10 章 复制与粘贴 134
- 技巧 60 用无名寄存器实现删除、复制与粘贴操作 134
- 技巧 61 深入理解 Vim 寄存器 137
- 技巧 62 用寄存器中的内容替换高亮选区的文本 142
- 技巧 63 把寄存器的内容粘贴出来 144
- 技巧 64 与系统剪贴板进行交互 147
第 11 章 宏 150
- 技巧 65 宏的读取与执行 150
- 技巧 66 规范光标位置、直达目标以及中止宏 153
- 技巧 67 加次数回放宏 155
- 技巧 68 在连续的文本行上重复修改 157
- 技巧 69 给宏追加命令 160
- 技巧 70 在一组文件中执行宏 162
- 技巧 71 用迭代求值的方式给列表编号 166
- 技巧 72 编辑宏的内容 168
第五部分 模式
第 12 章 按模式匹配及按原义匹配 174
- 技巧 73 调整查找模式的大小写敏感性 174
- 技巧 74 按正则表达式查找时,使用、v 模式开关 175
- 技巧 75 按原义查找文本时,使用、V 原义开关 178
- 技巧 76 使用圆括号捕获子匹配 179
- 技巧 77 界定单词的边界 181
- 技巧 78 界定匹配的边界 182
- 技巧 79 转义问题字符 184
第 13 章 查找 188
- 技巧 80 结识查找命令 188
- 技巧 81 高亮查找匹配 190
- 技巧 82 在执行查找前预览第一处匹配 191
- 技巧 83 将光标偏移到查找匹配的结尾 193
- 技巧 84 对完整的查找匹配进行操作 194
- 技巧 85 利用查找历史,迭代完成复杂的模式 197
- 技巧 86 统计当前模式的匹配个数 200
- 技巧 87 查找当前高亮选区中的文本 202
第 14 章 替换 204
- 技巧 88 认识 substitute 命令 204
- 技巧 89 在文件范围内查找并替换每一处匹配 206
- 技巧 90 手动控制每一次替换操作 208
- 技巧 91 重用上次的查找模式 209
- 技巧 92 用寄存器的内容替换 211
- 技巧 93 重复上一次 substitute 命令 213
- 技巧 94 使用子匹配重排 CSV 文件的字段 216
- 技巧 95 在替换过程中执行算术运算 217
- 技巧 96 交换两个或更多的单词 219
- 技巧 97 在多个文件中执行查找与替换 221
第 15 章 global 命令 225
- 技巧 98 认识 global 命令 225
- 技巧 99 删除所有包含模式的文本行 226
- 技巧 100 将 TODO 项收集至寄存器 228
- 技巧 101 将 CSS 文件中所有规则的属性按照字母排序 230
第六部分 工具
第 16 章 通过 ctags 建立索引,并用其浏览源代码 236
- 技巧 102 认识 ctags 236
- 技巧 103 配置 Vim 使用 ctags 239
- 技巧 104 使用 Vim 的标签跳转命令,浏览关键字的定义 241
第 17 章 编译代码,并通过 Quickfix 列表浏览错误信息 245
- 技巧 105 不用离开 Vim 也能编译代码 245
- 技巧 106 浏览 Quickfix 列表 248
- 技巧 107 回溯以前的 Quickfix 列表 251
- 技巧 108 定制外部编译器 251
第 18 章 通过 grep、vimgrep 以及其他工具对整个工程进行查找 255
- 技巧 109 不必离开 Vim 也能调用 grep 255
- 技巧 110 定制 grep 程序 257
- 技巧 111 使用 Vim 内置正则表达式引擎的 Grep 260
第 19 章 自动补全 263
- 技巧 112 认识 Vim 的关键字自动补全 263
- 技巧 113 与自动补全的弹出式菜单进行交互 265
- 技巧 114 掌握关键字的来龙去脉 267
- 技巧 115 使用字典中的单词进行自动补全 269
- 技巧 116 自动补全整行文本 270
- 技巧 117 自动补全单词序列 271
- 技巧 118 自动补全文件名 273
- 技巧 119 根据上下文自动补全 274
第 20 章 利用 Vim 的拼写检查器,查找并更正拼写错误 276
- 技巧 120 对你的工作进行拼写检查 276
- 技巧 121 使用其他拼写字典 278
- 技巧 122 将单词添加到拼写文件中 279
- 技巧 123 在插入模式下更正拼写错误 280
第 21 章 接下来干什么 283
- 21.1 继续练习 283
- 21.2 定制你自己的 Vim 283
- 21.3 欲善其事,先利其器 284
- 附录 A 根据个人喜好定制 Vim 285
- A.1 动态改变 Vim 的设置项 285
- A.2 将配置信息存至 vimrc 文件 287
- A.3 为特定类型的文件应用个性化设置 288