Linux 有一款编辑神器 Vim,熟练使用它的小伙伴对它爱不释手。但是 Vim 入手的门槛有点高,需要记住各种快捷键。尤其是 Vim 的各种定位操作例如:光标切换到第7行、光标移动到行尾或行首等等。本文通过练习加测验的模式带你快速玩溜 Vim 定位操作。
需要注意的是:本文适合有Linux 基础并了解Vim ,但是不熟悉其定位操作的同学。
接下来就来开始介绍 Vim 中常用的定位操作,本文中的操作一定要多练习方能彻底掌握Vim 定位大法欧。
在练习之前首先来大致了解一下常用的定位操作,具体的快捷键和其的作用如下:
正所谓光说不练假把式,在了解完具体的定位快捷键后,有的小伙伴可能还是一头雾水,没关系跟着下面演示操练起来吧!多练几次就了解了。
首先打开命令窗口输入 vim operation-practice.txt 然后点击回车(默认进入的是普通模式),点击 i 键 进入编辑模式后输入如下图内容。点击 Esc 退出到普通模式下通过 shift + : 进入命令模式,然后输入w + 回车 保存 operation-practice.txt 文件后就可以开始操作了。
直线左右路线
光标从第一行 a 开始向右移动到第一行 0 在由 第一行 0 开始向左移动到第一行 a,直线左右路线是练习 h 向左 l 向右的操作。
直线上下路线
光标从第一行 a 开始向下移动到第七行的 a 在由第七行的 a 开始移动到第一行 a, 直线上下路线是练习 k 向上 j 向下的操作。
口型路线
口型路线具体操作需要如下4步,最后形成的效果是一个口字。口型路线是练习 k 向上 j 向下 h 向左 l 向右 的操作。
上下 S 弯路线
上下 S 弯路线具体操作是按照如下3步以此类推,最后形成一个好像是多个横着的 S。上下 S 弯路线是练习 k 向上 j 向下 h 向左 l 向右 的操作。
左右 S 弯路线
左右 S 弯路线具体操作是按照如下3步以此类推,最后形成一个好像是多个竖着的 S。左右 S 弯路线是练习 k 向上 j 向下 h 向左 l 向右的操作。
到这里基本的上下左右移动练习介绍完毕,接下了练习,单词跳转和指定行跳转等定位的操作。
和上面上下左右练习一样首先命令窗口输入 vim word.txt 然后点击回车(默认进入的是普通模式),点击 i 键 进入编辑模式后输入如下图内容。点击 Esc 退出到普通模式下通过 shift + : 进入命令模式,然后输入w +回车 保存 word.txt 文件后就可以开始操作了。
一个一个单词跳转:
点击 w 或 W 会进行单词的一个一个的跳转,w 和 W 的区别是w包含中划线的单词 而W不包含中划线的单词。e 和 E的效果也是一个一个单词跳转,区别是 e 和 E 是跳转到单词末尾这里就不做演示了。
w 执行的效果如下:
W 执行的效果如下:
点击 b 会由后向前一个单词一个单词进行跳转 和 w、e 正好相反。
b 执行的效果如下:
首行和尾行开头的跳转
输入gg 会快速跳转到文本内容第一行的开头,输入 shift + g 会快速跳转到文本内容最后一行的开头。
输入 0 会快速跳转到光标所在行的开头,输入 shift + $ 会快速跳转到光标所在行的末尾。
0 和 $ 的效果如下:
指定具体行的跳转
首先输入数字然后在输入 shift +g 会开始跳转到指定数字的行的开头。例如:9 + shift + g 会跳转到文本内容的第9行的开头。
number + G 效果如下:
上述操作练习多次后,就可以进入到一下重要的环节:通过游戏测试你学习的程度。掌握的好不好玩一局就知道了。
接下来让我隆重介绍一个让你通过玩游戏学习 Vim 命令的游戏 —— PacVim,开发PacVim 的作者 Jamal Moon 已经将其开源在了 Github 上。大家可以访问 Jamal Moon Github 仓库查看 GitHub 仓库地址:https://github.com/jmoon018/PacVim 。
在这个游戏中,你是有着蓝色光标的小绿人,逃脱红色自负的怪物 Monster (红色的 G,Ghost,鬼),和经典的吃豆人不同的是, PacVim 中的控制并不是我们习惯上的上下左右,而是 Vim 定位操作键位。具体玩法如下面的动图所示:
如果你的Mac 或者 Windows 笔记本安装了 Docker 你可以通过 如下命令运行PacVim
docker run -it freedomben/pacvim [LEVEL_NUMBER] [MODE]
LEVEL_NUMBER 取值范围为 0 - 9,是关卡等级,关卡越大难度越大,MODE 可以选择 N 或 H,N 是:正常模式;H 是:困难模式。默认是 N。
如果你使用的是 Mac 系统使用者可以通过如下命令安装PacVim,然后通过在命令窗口执行 pacvim 5 n 来运行 PacVim。
brew install pacvim
接下来介绍一下游戏的规则:
获胜条件: 使用vim命令将光标移至字母上方并突出显示(变为绿色)。在所有字母都突出显示后,您将赢得并进入下一个级别。
失败条件: 如果触摸到鬼(就是红色的G)或波浪号字符(~),则会丧生。如果您的生命少于0,则会输掉整个游戏。
还有如下几点需要注意:
文章的最后感谢 占小狼的博客 公众号发表的 Vim一直学不会?试试这个 “真香” 神器 让我知道这么好玩的游戏。