分享一份 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:)