前言
笔者早年刚入行的时候就接触过Vim,当时还是真正的菜鸟,带我的师父是一个华为骨干员工,犹记得他给我指导如何保存并关闭文本:按Esc,然后输入:wq。还记得自己打开Vim编辑器,一个字符都敲不进去,然后问旁边的同事(此人年纪轻轻,但是擅长linux,我们都叫他XX大佬),他邪魅一笑说“i”,我第一反应就是他故意逗我玩,然后他认真地说“你没有听错,就是键盘上的i”。为何时隔多年我还记得这两件微不足道的小事?原因就是初次接触Vim留给我深刻的印象:神秘感!
讲真,这几年的工作中,我很少用Vim,可能是因为大多使用Windows操作系统。但是后来涉足跨平台开发,甚至是嵌入式,就发现这东西还必须得会!因此,决定来个“朝花夕拾”。考虑到网上类似的教程非常之多,如果仅仅复制粘贴这些文字和命令,那么会非常枯燥无味,人们是不喜欢缺乏灵魂的事物的!你看,纵使我早年接触过Vim,但是因为用进废退,目前凭直觉能想起来的命令就是上述的那两个小故事。每次真的要用,还要在网上搜索一番。
下面我会以一个小白的心态重新认识这个“老朋友”,尽量符合婴儿认识事物的这个过程。
一、Vim安装
运行
OK
下一步
我接受,下一步
下一步
下一步
改安装路径,安装
完成
二、常用命令实践
1.复现小故事情节
新建空文本
鼠标右键,用Vim编辑
按“i”,下面出现”—插入—"字样,然后键入”hello”,再按“Esc”(切换模式,用于执行命令),敲入我师父传授的“:wq”,则成功写入和保存文本!
2.删除字符,删除整行,删除单词
按“x”删除了Hello的首字母H,按”dd”删除了第一行整行,按“dw”删除了单词This。
3.复制粘贴与剪切粘贴
按“yy”复制第一行,用↓键将光标移动到底端,按“p”进行粘贴;接着用↑键将光标移动到第2行,按”dd”剪切该行,用↓键将光标移动到底端,按“p”进行粘贴。
4.跳转移动光标
按“gg”移动到文档开始,按大写”G”移动到文档末尾,按“:3”移动到第三行,由此可以看出行号是从1开始编码而非从0编码。
5.撤销与重做
光标放到文档开头,按“dd”删除第一行,按“u”撤销删除,按”Ctrl+r”再此删除,按“u”再次撤销删除。
6.块选择
光标放到文档开头,按“v”选择字符,按→和←键选择多字符,再次把光标放到文档开头,按“Ctrl+v”选择块字符,按↓和→选择块区域。
7.设置行号
输入“:set nu”设置行号,输入“set nonu”取消行号。
8.查找替换
输入“:%s/vim/VIM”,全文搜索小写的vim将其全部替换为大写的VIM。
9.拓展
0:移动到行首;
$:移动到行尾;
ndd:删除n行(包括当前行在内)
a:在光标后插入;
o:在当前行下方插入新行;
O:在当前行上方插入新行;
:split、:vsplit:分别水平和垂直分割窗口;
Ctrl + w、Ctrl + w:在窗口之间切换;
:w:保存文件;
:q:退出;
:q!:强制退出,不保存更改。
三、总结
vim的命令繁多,但常用的无非就是复制粘贴删除等,能用到查找替换应付常规操作已经足够了。对于笔者而言,把所有命令全死记硬背无疑是一种灾难,提纲挈领,举一反三才能把知识学活。另外,舍弃或许是另一种拥有,比如h/j/k/l可控制左/下/上/右,但总觉得没有方向键用着直观。因此,实践中潜移默化的记忆是最有效的,本文仅作抛砖引玉之用。