Vim是程序员、网站发人员及系统管理员的重要工具,其速度和效率令其他的文本编辑器难以望其项背。Vim能在几乎每一个系统上运行,并支持大多数编程语言和标记语言。本书包含了Vim的实用技巧和使用指南。全书概括了12 1个技巧,通过丰富的示例、清晰的体例和详细的讲解,展示了高效使用Vim的崭新方法。 现在,Vim新手问我该怎么学习,我知道怎么回答他们了。这本书甚至教会我一些事情。——T im P o p e , V i m 核心贡献者
售 价:¥
纸质售价:¥56.10购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
读者对本书的评论
第一版序
前言
本书如何组织
关于示例的说明
先学会盲打,然后再学习Vim
致谢
写作体例说明
了解Vim的内置文档
在书页中模拟Vim的标记
演奏主旋律
演奏和弦
占位符
显示特殊按键
区分不同模式下的输入
在命令行中操作
显示缓冲区内光标的位置
高亮显示查找匹配项
在可视模式中选择文本
下载本书中的示例
使用Vim的出厂配置
Vim 脚本所扮演的角色
关于 Vim 的版本
用终端 Vim 还是图形化Vim?你自己定!
第1章 Vim解决问题的方式
技巧1 认识 . 命令
. 命令是一个微型的宏
技巧2 不要自我重复
减少无关的移动
技巧3 以退为进
使修改可重复
使移动可重复
合而为一
技巧4 执行、重复、回退
技巧5 查找并手动替换
偷懒的办法:无需输入就可以进行查找
使修改可重复
合而为一
技巧6 认识 . 范式
回顾前面3个 . 命令编辑任务
理想模式:用一键移动,另一键执行
第一部分 模式
第2章 普通模式
技巧7 停顿时请移开画笔
技巧8 把撤销单元切成块
技巧9 构造可重复的修改
反向删除
正向删除
删除整个单词
决胜局:哪种方式最具重复性?
结论
技巧10 用次数做简单的算术运算
技巧11 能够重复,就别用次数
只在必要时使用次数
技巧12 双剑合璧,天下无敌
操作符 + 动作命令 = 操作
扩展命令组合的威力
自定义操作符与已有动作命令协同工作
自定义动作命令与已有操作符协同工作
注意:
结识操作符待决模式
第3章 插入模式
技巧13 在插入模式中可即时更正错误
技巧14 返回普通模式
结识插入-普通模式
技巧15 不离开插入模式,粘贴寄存器中的文本
对面向字符的寄存器使用 <C-r>{register} 命令
技巧16 随时随地做运算
技巧17 用字符编码插入非常用字符
技巧18 用二合字母插入非常用字符
技巧19 用替换模式替换已有文本
用虚拟替换模式替换制表符
第4章 可视模式
技巧20 深入理解可视模式
技巧21 选择高亮选区
激活可视模式
在可视模式间切换
切换选区的活动端
技巧22 重复执行面向行的可视命令
准备工作
先缩进一次,然后重复
技巧23 只要可能,最好用操作符命令,而不是可视命令
使用可视模式下的命令
使用普通模式下的操作符命令
结论
技巧24 用面向列块的可视模式编辑表格数据
技巧25 修改列文本
技巧26 在长短不一的高亮块后添加文本
第5章 命令行模式
技巧27 认识Vim的命令行模式
Vim命令行模式中的特殊按键
Ex 命令影响范围广且距离远
技巧28 在一行或多个连续行上执行命令
用行号作为地址
用地址指定一个范围
用高亮选区指定范围
用模式指定范围
用偏移对地址进行修正
结论
技巧29 使用‘:t’和‘:m’命令复制和移动行
用 ‘:t’ 命令复制行
用 ‘:m’ 命令移动行
技巧30 在指定范围上执行普通模式命令
技巧31 重复上次的 Ex 命令
技巧32 自动补全 Ex 命令
在多个补全项间选择
技巧33 把当前单词插入命令行
技巧34 回溯历史命令
注意:
结识命令行窗口
注意
技巧35 运行Shell命令
执行 Shell 中的程序
把缓冲区内容作为标准输入或输出
使用外部命令过滤缓冲区内容
结论
技巧36 批处理运行Ex命令
逐条执行Ex命令
把Ex命令存成脚本并加载
用此脚本修改多个文件
第二部分 文件
第6章 管理多个文件
技巧37 用缓冲区列表管理打开的文件
了解文件与缓冲区的区别
结识缓冲区列表
使用缓冲区列表
删除缓冲区
注意:
技巧38 用参数列表将缓冲区分组
填充参数列表
用文件名指定文件
用 Glob 模式指定文件
用反引号结构指定文件
使用参数列表
技巧39 管理隐藏缓冲区
在退出时处理隐藏缓冲区
运行 ':*do' 命令前,启用 'hidden' 设置
技巧40 将工作区切分成窗口
创建分割窗口
在窗口间切换
关闭窗口
改变窗口大小及重新排列窗口
技巧41 用标签页将窗口分组
如何使用标签页
打开及关闭标签页
在标签页间切换
重排标签页
第7章 打开及保存文件
技巧42 用:edit命令打开文件
相对于当前工作目录打开一个文件
相对于活动文件目录打开一个文件
技巧43 使用:find打开文件
准备工作
配置 'path' 选项
使用:find命令,通过文件名查找文件
技巧44 使用netrw 管理文件系统
准备工作
结识 netrw —Vim原生的文件管理器
与分割窗口协同工作
使用 netrw 完成更多功能
技巧45 把文件保存到不存在的目录中
技巧46 以超级用户权限保存文件
第三部分 更快地移动及跳转
第8章 用动作命令在文档中移动
技巧47 让手指保持在本位行上
让右手待在它该在的位置上
技巧48 区分实际行与屏幕行
技巧49 基于单词移动
理解单词与字串
技巧50 对字符进行查找
查找字符时,可以包含或是排除目标字符
像Scrabble®[4]玩家那样思考
技巧51 通过查找进行移动
用查找动作操作文本
技巧52 用精确的文本对象选择选区
用文本对象执行操作
结论
技巧53 删除周边,修改内部
技巧54 设置位置标记,以便快速跳回
自动位置标记
技巧55 在匹配括号间跳转
注意:
在配对的关键字间跳转
第9章 在文件间跳转
技巧56 遍历跳转列表
技巧57 遍历改变列表
标识上次修改方位的位置标记
技巧58 跳转到光标下的文件
指定文件的扩展名
指定要搜寻的目录
结论
技巧59 用全局位置标记在文件间快速跳转
在浏览代码前先设置一个全局标记
第四部分 寄存器
第10章 复制与粘贴
技巧60 用无名寄存器实现删除、复制与粘贴操作
调换字符
调换文本行
创建文本行的副本
糟糕!我弄丢了复制内容
技巧61 深入理解Vim寄存器
引用一个寄存器
无名寄存器("")
复制专用寄存器("0)
有名寄存器("a – "z)
黑洞寄存器
系统剪贴板("+)与选择专用寄存器("*)
表达式寄存器("=)
其他寄存器
技巧62 用寄存器中的内容替换高亮选区的文本
交换两个词
技巧63 把寄存器的内容粘贴出来
粘贴面向字符的区域
粘贴面向行的区域
结论
技巧64 与系统剪贴板进行交互
准备工作
了解你所用系统的粘贴命令
在插入模式下使用系统粘贴命令
为避免切换'paste'选项,请使用加号寄存器进行粘贴
第11章 宏
技巧65 宏的读取与执行
把命令序列录制成宏
通过执行宏来回放命令序列
注意:
以串行方式执行宏
以并行方式执行宏
技巧66 规范光标位置、直达目标以及中止宏
规范光标的位置
用可重复的动作命令直达目标
当动作命令失败时,宏将中止执行
技巧67 加次数回放宏
注意:
技巧68 在连续的文本行上重复修改
录制工作单元
以串行方式执行宏
以并行方式执行宏
决策:串行还是并行?
技巧69 给宏追加命令
结论
技巧70 在一组文件中执行宏
准备工作
建立目标文件列表
录制宏
以并行方式执行此宏
以串行方式执行宏
保存所有文件的改动
注意:
结论
技巧71 用迭代求值的方式给列表编号
基本的Vim脚本
录制宏
执行宏
技巧72 编辑宏的内容
问题:非标准格式
将宏粘贴到文档中
编辑宏
将宏从文档复制回寄存器
结论
第五部分 模式
第12章 按模式匹配及按原义匹配
技巧73 调整查找模式的大小写敏感性
全局设置大小写敏感性
每次查找时设置大小写敏感性
注意:
启用更具智能的大小写敏感性设置
技巧74 按正则表达式查找时,使用 \v模式开关
用magic搜索模式查找十六进制颜色代码
用very magic搜索模式查找十六进制颜色代码
用十六进制字符类进一步优化模式
结论
技巧75 按原义查找文本时,使用 \V原义开关
技巧76 使用圆括号捕获子匹配
技巧77 界定单词的边界
注意:
技巧78 界定匹配的边界
注意:
技巧79 转义问题字符
正向查找时要转义 / 字符
反向查找时要转义?号
注意:
每次都要转义符号 \
用编程的方式转义字符
第13章 查找
技巧80 结识查找命令
执行一次查找
指定查找的方向
重复上一次查找
回溯之前的查找
技巧81 高亮查找匹配
禁用高亮查找功能
技巧82 在执行查找前预览第一处匹配
检查是否存在一处匹配
根据预览结果对查找域自动补全
技巧83 将光标偏移到查找匹配的结尾
技巧84 对完整的查找匹配进行操作
优化点范式
技巧85 利用查找历史,迭代完成复杂的模式
1. 粗略匹配
2. 逐步求精
3. 精益求精
4. 画上完美句号
结论
技巧86 统计当前模式的匹配个数
用‘:substitute’命令统计匹配总数
用‘:vimgrep’命令统计匹配总数
技巧87 查找当前高亮选区中的文本
在可视模式下查找当前单词
查找当前选中的文本(现有技术)
注意:
查找当前选中的文本(终极版)
第14章 替换
技巧88 认识substitute命令
利用标志位调整substitute命令的行为
替换域中的特殊字符
技巧89 在文件范围内查找并替换每一处匹配
技巧90 手动控制每一次替换操作
结论
技巧91 重用上次的查找模式
并非永远奏效
对命令历史的影响
技巧92 用寄存器的内容替换
传值
引用
比较
技巧93 重复上一次substitute命令
在整个文件范围内重复面向行的替换操作
修正substitute命令的执行范围
结论
技巧94 使用子匹配重排CSV文件的字段
技巧95 在替换过程中执行算术运算
查找模式
substitute命令
技巧96 交换两个或更多的单词
返回另一个单词
匹配两个单词
合而为一
结论
技巧97 在多个文件中执行查找与替换
substitute命令
使用:vimgrep在工程范围内查找
使用:cfdo在整个工程范围内执行substitute命令
小结
第15章 global命令
技巧98 认识global命令
技巧99 删除所有包含模式的文本行
用 ':g/re/d' 删除所有的匹配行
用 ':v/re/d' 只保留匹配行
技巧100 将TODO项收集至寄存器
结论
技巧101 将CSS文件中所有规则的属性按照字母排序
对单条规则的属性进行排序
对所有规则的属性进行排序
结论
注意:
第六部分 工具
第16章 通过ctags建立索引,并用其浏览源代码
技巧102 认识ctags
安装Exuberant Ctags
注意:
用ctags创建代码库的索引
注意:
详解标签文件
用模式定位关键字,而不是用行号
用元数据标记关键字
技巧103 配置Vim使用ctags
告诉Vim标签文件在哪里
生成标签文件
简单的例子:手动执行ctags
在每次保存文件时自动执行ctags
通过版本控制工具的回调机制自动执行ctags
结论
技巧104 使用Vim的标签跳转命令,浏览关键字的定义
跳转到关键字的定义处
当关键字存在多处匹配时,可指定跳转的位置
使用Ex命令
第17章 编译代码,并通过Quickfix列表浏览错误信息
技巧105 不用离开Vim也能编译代码
准备工作
在Shell中编译工程
在Vim中编译工程
技巧106 浏览Quickfix列表
Quickfix的基本移动命令
Quickfix的快速前进/后退命令
使用Quickfix窗口
注意:
技巧107 回溯以前的Quickfix列表
技巧108 定制外部编译器
配置‘:make’,使其调用Nodelint
用Nodelint的输出结果填充Quickfix列表
用一条命令设置‘makeprg’与‘errorformat’
注意:
第18章 通过grep、vimgrep以及其他工具对整个工程进行查找
技巧109 不必离开Vim也能调用grep
在系统命令行中执行grep
在Vim内部调用grep
技巧110 定制grep程序
Vim缺省的grep设置
通过‘:grep’调用ack
通过ack跳转到指定的行与列
技巧111 使用Vim内置正则表达式引擎的Grep
指定查找哪些文件
先在文件内查找,再扩大到整个工程
查找历史与:vimgrep的关系
第19章 自动补全
技巧112 认识Vim的关键字自动补全
触发自动补全
技巧113 与自动补全的弹出式菜单进行交互
浏览补全列表,但不改变文档内容
滚动浏览补全列表的同时更新文档内容
放弃所有选择项
随着输入字符的增多,补全列表将得到精简
技巧114 掌握关键字的来龙去脉
缓冲区列表
包含文件
标签文件
合而为一
技巧115 使用字典中的单词进行自动补全
技巧116 自动补全整行文本
技巧117 自动补全单词序列
技巧118 自动补全文件名
技巧119 根据上下文自动补全
第20章 利用Vim的拼写检查器,查找并更正拼写错误
技巧120 对你的工作进行拼写检查
操作Vim的拼写检查器
技巧121 使用其他拼写字典
指定某个语言的区域性变体
获取其他语言的拼写文件
技巧122 将单词添加到拼写文件中
为专业术语创建拼写文件
技巧123 在插入模式下更正拼写错误
准备工作
通常做法:切换到普通模式
快捷方式:利用拼写自动补全功能
注意:
第21章 接下来干什么
21.1 继续练习
21.2 定制你自己的Vim
21.3 欲善其事,先利其器
附录A 根据个人喜好定制Vim
A.1 动态改变Vim的设置项
注意:
A.2 将配置信息存至vimrc文件
A.3 为特定类型的文件应用个性化设置
欢迎来到异步社区!
异步社区的来历
社区里都有什么?
购买图书
下载资源
与作译者互动
灵活优惠的购书
特别优惠
纸电图书组合购买
社区里还可以做什么?
提交勘误
写作
会议活动早知道
加入异步
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜