分享一份 Vim 简介PPT
这是近期做团队分享的一份ppt, 原稿用markdown仓促写的, 感谢markdown及weakpoint, 可以直接将markdown转成ppt
这次分享主要不是讲vim, 更多的是关于工具的使用和思考
其实, 无非是记住一些东西, 忘记一些东西, 定制和寻找适合自己的工具, 善用工具, 成为主人而不是奴隶
将markdown原稿放出, 很多实操演示, 在文稿中是看不到的……
vim
wklken
vim
曲线:

vim
Vim the Six Billion Dollar editor
Better, Stronger, Faster.
Maybe:
成为你最后一个使用的编辑器
vim
文本编辑器 , 不是IDE
能做一些事情, 但是一些事情是做不到的, 不要强求, 该用IDE的时候, 用就是了
how
步骤:(简明 Vim 练级攻略)
存活
感觉良好
觉得更好,更强,更快
使用VIM的超能力
诀窍:
不断练习
肌肉记忆, 直觉-行动而不是思考-行动(十倍差距)
过程:
一个vimer必定会经历的过程
- 什么都没有, 纯vi
 - 什么都有
 - 只留适合自己的, 不适合自己也要配置成适合自己的
 - 什么都没有(听说)
 
target
- 实操: vim能做什么?
 - 思考:
 
- 哪些是你常用编辑器可以实现的?
 - 哪些好的功能是你想要却没有的? 能否解决
 - 你的痛点在哪里?
 - 工作流
 
模式

移动1
概览

移动2
忘掉刚才那张图……
移动3
- 
hjkl (请杜绝方向键, 移动右手到方向键区浪费时间)
map <Left> <Nop> map <Right> <Nop> map <Up> <Nop> map <Down> <Nop> - 
单词: w / b / e (忘记: W/B/E-以空白为分隔符, 要多按shift键键/不好记/用得少)
 - 
行内: 0 / $ (忘记: ^, 够不着啊)
 - 
段落: { / }
 
移动4
- 
页: <ctrl-u> / <ctrl-d> (忘记: ctrl-f/ctrl-b, 都在左侧键区左手太累, 经常是要上要下, 而不是往一个方向走)
 - 
可视范围: H M L (全部忘记, 没多大用, 要按shift, 混淆记忆)
 - 
文件内: gg / G / :N (基本够了)
 - 
匹配处: % 括号匹配 / # (忘记: *, 在键盘左侧, 太远不好敲, 可以交换#和*的功能)
 
更强大的, 看后面的插件部分
编辑
N<action>
- 
x
 - 
dd
 - 
dw / db / d$ / dG / dgg
 - 
yw / yb / y$
 - 
yy / p / P
 - 
J
 
撤销和重复
- 
u
 - 
.
 - 
N<command>
 
选中
select
- v: vw / vb / vta / v$
 
block select
- <ctrl+v> -> hjkl/<ctrl+d>
 
行首加 / 行尾加
搜索
- 行内搜索: f / t (可以选择性遗忘t, 同时, 忘记F/T, 甚至可以忘记f, 你不需要)
 
为什么? 看后面的easy-motion插件
替换
记住这两个似乎够了(频率最高)
- 
:1,10s/a/b/g
 - 
:%s/a/b/g
 
字符替换
- rX
 
文本对象
初学者基本不了解的一个特性
- 
<action>a<object> or <action>i<object>
 - 
a = all / i = in
 - 
action: d y v c
 - 
object:
w(world) / s(sentence) / p{paragraph} " ' ) ] } - 
装插件, 可以是: l(line) e(entire file) i(indent)
 
分屏
- 
:sp file1
 - 
:vsp file2
 - 
ctrl-w-h/j/k/l (改键 ctrl-h/j/k/l)
 - 
ctrl-w-H/J/K/L
 
插件1: 语法检查
插件2: 自动补全与代码片段
两大效率神器
毫秒级补全/ python / c系等, 编译安装, 具体自行文档
括号补全
xml/html标签补全
插件3: 快速编码
快速注释:
快速编辑
去空格
代码对齐
插件4: 快速运行
插件5: 快速移动
行/位置/搜索
mark
插件6: 快速选中
区块
多标签
插件7: 文件导航/搜索
目录导航
标签导航
搜索文件
搜索代码
关于插件1
- 不是越多越好
 - 配了用不上 = 没配 + 浪费资源
 - 同一功能, 对比几个插件, 选择一个合适的
 - 快捷键配置一定要容易记
 - 相信我, 一个插件用的最多的快捷键就两个, 绝大多数情况下不会多于两个, 不用耗费心力在配置
更强大的操作上 
关于插件2
- 更符合自觉的键位/操作
 - 尽量减少敲击次数
 - 杜绝一切无效的敲击
 - 个性化, 定制到每个细节, 力争解决自己所有痛点
 
高级
- 
怎么配置:
参考下别人的vim配置, 读插件文档, 读插件代码, 必要时改一份
 
资源
配置:
文章:
others:
QA
Thx:)