为了练就双手不离键盘的”神功“,在上一篇文章双手不离键盘,VS Code 的一些快捷键和骚操作介绍了 VS Code 提升效率的一些常用快捷键。在这篇文章中,整理了 Vim 的各种插入模式及光标移动方法,整理的过程也是不断学习的过程。在 Vim 的四级攻略1中,学会幸存下来,进入感觉良好的状态,逐步朝着更好,更强,更快的第三级目标迈进。
Vimium(Firefox 为Vimium-FF)是 Chrome 中的一款扩展工具,让你在使用浏览器的过程中放弃鼠标,全键盘操作如丝般顺滑。
Vim 作为编辑器之神,学习曲线非常陡峭,需要时间不断地练习,形成肌肉记忆。当前我只在服务器简单修改文件内容时使用,所以只给出我目前常用到的一些操作。
命令 | 内容 |
---|---|
i |
插入模式,按 ESC 回到 Normal 模式,在光标前插入 |
I |
在行头插入 |
a |
在光标后插入 |
A |
在行尾插入 |
o |
在当前行后插入一个新行 |
O |
在当前行前插入一个新行 |
cw |
替换从光标所在位置后到一个单词结尾的字符 |
命令 | 内容 |
---|---|
0 |
begining of line, 到行头 |
^ |
first non-blank character, 到本行的第一个非 blank 字符(空格、tab、换行、回车等) |
B |
previous WORD |
b |
previous word,前一个单词 |
h |
previous character |
l |
next character |
e |
end of word, 到本单词结尾 |
w |
begining of next word, 到下一个单词的开头 |
E |
end of WORD |
W |
begining of next WORD |
$ |
end of line, 到行尾 |
g_ |
到本行最后一个不是 blank 字符的位置 |
fa |
到下一个为 a 的字符处 |
t, |
到逗号前的第一个字符,逗号可以改为其他字符。 |
3fa |
在当前行查找第三个出现的 a |
F |
和 f 一样,相反方向 |
T |
和 t 一样,相反方向 |
如果单词是默认方式,那么就用小写的 e
和 w
,默认,即一个单词由字母、数字和下划线组成。(程序变量)
如果单词由 blank 字符分隔,那么用大写的 E
和 W
。(程序语句)
命令 | 内容 |
---|---|
gg |
到第一行( 1G ,或 :1 ) |
^b |
上翻 1 页 |
^u |
上翻 1/2 页 |
k |
上一行 |
j |
下一行 |
^d |
下翻 1/2 页 |
^f |
下翻 1 页 |
G |
到最后一行 |
最后,分享几张中看又中用的 Vi/Vim Cheat Sheet。
vi-vim-cheat-sheet-sch.gif,来自 http://blog.ngedit.com/vi-vim-cheat-sheet-sch.gif ,它的英文版本在这里 http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
10-Best-VIM-Cheat-Sheet-02.jpg,来自 https://rumorscity.com/2014/08/16/5-best-vim-cheat-sheet/
vim_cheat_sheet_for_programmers_print.png,来自 http://michael.peopleofhonoronly.com/vim/
其中,最后一张给程序员的 Vim 速查卡,用颜色标注了级别:
Vimium 是 Vim 和 Chromium 的合体,它继承了 Vim 中的常用键位,让你在使用 Chrome 的过程中,无论是浏览网页、切换标签或是其它任何操作,全部可以只通过键盘完成。
唤出帮助的快捷键是 shift+/
,会弹出一张 Vimium 常用的快捷键列表:
这里介绍几个实用的操作。
标签页切换,J
(Shift+j
)下一个标签页,K
(Shift+k
)上一个标签页。
页面关闭和恢复,x
关闭当前页面,X
恢复刚刚关闭的页面。
gu
:跳转到父页面,比如 http://www.douban.com/group/vim/ ,输入后跳转到父页面即 http://www.douban.com/group/ , 所以不同于 H
快捷键是回到上个历史页面,L
是前进到某个页面。
i
:输入模式,如果发现命令不起作用,可能是进入输入模式了,此时按 Esc
回到命令模式。
gi
,将光标定位到输入框,如果有多个可以按 Tab
切换。
按键 | 内容 |
---|---|
gg |
到页面最顶部 |
u |
向上滚动 1/2 屏 |
k |
向上滚动一点 |
j |
向下滚动一点 |
d |
向下滚动 1/2 屏 |
G |
到页面最底部 |
p
或 P
就可以打开了,小写的 p
是在当前标签页打开,大写的 P
则新建标签页打开。o
,输入对应的关键字后,会一起搜素历史记录和收藏夹,如果输入的是一个网址,回车还能直接打开。O
,则在新窗口中打开。在当前页面上,只需要按一下 f
,然后所有可点击的元素,都会生成一个对应的快捷键分给这些链接。在任意一个页面上,链接再多,你也不用鼠标,最多只需要三个键,就可以迅速打开任意一个链接。F
在新的页面打开一个新的链接。
yy
,拷贝当前页面的 URL 到剪贴板。
yf
,拷贝某一个 URL 到剪贴板,实际上相当于输入了 f
,然后出现很多编码的 URL,选择某个之后,相当于拷贝了某个,因为一个页面中可能有很多超链接。
yf
和 p
可以结合起来使用,yf
拷贝当前页面的某个 URL 到剪贴板,然后按 p
或 P
,打开这个URL。
有时候在查找信息时,经常会一口气打开数十个网站,东西一多,Chrome 会自动将每个标签页的宽度缩小,几乎看不到它们的标题。使用 Vimium,你可以按一下大写的 T
,就可以显示当前打开的所有标签页,并支持快速搜索和跳转。
你在日常工作中有哪些可以大大提升效率的好工具和骚操作吗?欢迎给我留言,让我们一起学习,共同进步。
微信公众号「padluo」,分享数据科学家的自我修养,既然遇见,不如一起成长。
参考文档
简明 VIM 练级攻略 ↩︎