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

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了