Vim实用技巧
读者评价
看了这本书才知道以前的自己是多么的无知,一直局限在网上的各种Vim教程,以为完整练习好两三个教程就精通了Vim这个强大的编辑器,后来才发现自己错了,原来Vim还有这么多强大的用法和功能,这不得不使我更加敬畏Vim.
Vim/Vi在Linux命令行界面下是默认的文本编辑器,以前一直不习惯用,这次买了这本书好好学习学习。书不厚,目录编排的很细致。
没看这本书之前我觉得我会vim的基本操作,看了三分之一后,我感觉我对vim还没有入门,想用好vim的值得一读!
vim是我常用的文本编辑工具,这本书对我的帮助很大,推荐购买
内容介绍
Vim是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中得到非常广泛的使用。Vim能够大大提高程序员的工作效率。对于Vim高手来说,Vim能以与思考同步的速度编辑文本。同时,学习和熟练使用Vim又有一定的难度。
本书为那些想要提升自己的程序员编写,阅读本书是熟练掌握高超的Vim技巧的必由之路。全书共21章,包括123个技巧。每一章都是关于某一相关主题的技巧集合。每一个技巧都有针对性地解决一个或一类问题,帮助读者提升Vim的使用技能。本书示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以帮助读者快速掌握和精通Vim。
本书适合想要学习和掌握Vim工具的读者阅读,有一定Vim使用经验的程序员,也可以参考查阅以解决特定的问题。
目录
- 第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 认识ctags236
- 技巧103 配置Vim使用ctags239
- 技巧104 使用Vim的标签跳转命令,浏览关键字的定义241
- 第17章 编译代码,并通过Quickfix列表浏览错误信息245
- 技巧105 不用离开Vim也能编译代码245
- 技巧106 浏览Quickfix列表248
- 技巧107 回溯以前的Quickfix列表251
- 技巧108 定制外部编译器251
- 第18章 通过grep、vimgrep以及其他工具对整个工程进行查找255
- 技巧109 不必离开Vim也能调用grep255
- 技巧110 定制grep程序257
- 技巧111 使用Vim内置正则表达式引擎的Grep260
- 第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 定制你自己的Vim283
- 21.3 欲善其事,先利其器284
- 附录A 根据个人喜好定制Vim285
- A.1 动态改变Vim的设置项285
- A.2 将配置信息存至vimrc文件287
- A.3 为特定类型的文件应用个性化设置288
vim编辑常用快捷键 当我们使用vim打开一个文件的时候,刚进到文件,是处于命令行模式(就是无法编辑代码)。 当按下键盘上的 i 或者 a 都可以进入编辑模式。进入编辑模式就可以移动光标进行代码编辑。但是vim中的编辑模式,很不好编辑,比如我们想要复制一行内容到另一行,还要用鼠标右键进行复制粘贴。这很不方便。但是不是在编辑模式下,也就是去命令行模式下,可以有一些快捷键来满足我们的一些快捷的需求。 在编辑模式下按下键盘上的 Esc 按键,进入到命令行模式。在命令行模式下,有如下快捷键(注意一定是命令行模式): 拷贝某一行的内容:yy (让鼠标的光标在某一行停留,连续按下键盘上的 y 两次,即可复制该行的内容) 剪切某一行的内容:dd (让鼠标的光标在某一行停留,连续按下键盘上的 d 两次,即可剪切该行的内容,剪切后该行的内容消失,相当于删除) 粘贴:p (当执行完yy或者dd后,将光标移动到你想粘贴的位置,按下p,即可粘贴内容) 拷贝多行的内容: 按下v + 光标移动选中一些行,选好后松开v,然后按下y,即可拷贝选中的行的内容。 剪切多行的内容:按下v + 光标移动选中一些行,选好后松开v,然后按下d,即可剪切选中的行的内容。剪切后,选中的内容消失,相当于删除。 列模式:ctrl + v 后,移动光标可以选择列的内容 删除:dd可以看成是删除单独行,v + 光标移动选中内容再按下d可以看成是删除多行内容。 显示行号:进入命令行模式下,按下Shift + :,然后输入set nu 去掉行号:进入命令行模式下,按下Shift + :,然后输入set nonu