Vim 入门
我觉得学习 Vim
要像学习一门语言一样,需要大量的实践和长期的积累才能用的顺手。
实用技巧
这一部分是我在阅读「Vim 实用技巧」的笔记。
作者如是说:
传统观点认为,Vim 的学习曲线很陡,但我相信绝大多数Vim用户对此不以为然。
这句话我不是很认同,现在还是觉得很陡峭,难道在更深入的了解之后就会有改变?
我发现学习 Vim 和其他东西一样,没有什么灵丹妙药。
用
*
查找光标下的单词。>G
命令会增加从当前行到文档末尾处的缩进层级。每次进入插入模式时,会形成一次修改,可以用
.
来重复。那么如何将插入内容和移动一起作为一次修改呢?执行一系列修改
qx{changes}q
,使用@x
重复这个修改。如果在插入模式中使用
<Up>
、<Down>
、<Left>
或<Right>
这些光标键,将会产生一个新的撤销块。让每个「可撤销块」对应一次思考过程。如果认为已经走错了方向,就会切换到普通模式,然后按
u
撤销。<Ca>
和<Cx>
命令分别对数字执行加和减操作,如果当前光标不在数字上,它会自动移动到第一个数字区域。注释命令以
gc{motion}
触发,gcc
则注释当前行。专业打字员会建议先删除整个单词,然后再重新输入一遍。在插入模式中,
<Ch>
删除前一个字符(同退格键),<Cw>
删除前一个单词,<Cu>
删至行首。用
zz
命令可以重绘屏幕,并把当前行显示在窗口正中,这样就能够阅读当前行之上及之下的半屏内容。r{char}
和gr{char}
命令允许覆盖一个字符,之后马上又回到普通模式。按
<Cg>
可以在可视模式及选择模式间切换。gv
重选上次的高亮选区。gu
转小写,gU
转大写,g~
反转大小写,guaw
一个词转小写,guu
一行转小写,guap
一段话转小写,其他同理。在可视模式使用
U
命令来把所选中的字符转换为大写。注意区分
:!ls
和:ls
的不同之处。前者调用的是shell中的ls命令,而:ls调用的是Vim的内置命令,用来显示缓冲区列表的内容。可以执行Vim的
:shell命令
来启动一个交互的shell会话,另外一种做法是可以用:read!{cmd}
命令,把{cmd}命令的输出读入当前缓冲区中。<Co>
进入「普通-插入模式」,即执行完一个命令立马进入插入模式。比如调整光标位置到中间<Co>zz
。在插入模式中粘贴内容
<Cr>0
。三种不同的可视模式:1.
v
面向字符的。2.V
面向行的。3.<Cv>
面向列块的。在可视模式中,
o
可以切换高亮选区的活动端。在可视模式中,
a i
都不起作用,必须使用A I
。出现顺序:
ed
->ex
->vi
->Vim
。在命令行里执行的命令又叫
Ex
命令,按下:
可以触发,按下<CR>
可以执行。
Vim 配置
Vim 新手肯定觉得 Vim 极其难用,这里面原因很多。比如学习曲线问题,普通的编辑器一般是斜线或者斜曲线的,而 Vim 几乎是垂直的!
抛开学习曲线问题,如果给 Vim 一个很好的配置,也可以让 Vim 变得易用很多。这里是一些常见配置选项:
1 | " 设置行号 |
我最近找到了一个还不错的配置方法,几乎可以说是「一键配置」!
下面的具体代码基于 Ubuntu 16.04 系统,Mac OS 请参考这个。
1 | # 安装依赖 |
快去试试吧!