看完这篇学不会 Vim 定位操作我跟你姓!

前言

Linux 有一款编辑神器 Vim,熟练使用它的小伙伴对它爱不释手。但是 Vim 入手的门槛有点高,需要记住各种快捷键。尤其是 Vim 的各种定位操作例如:光标切换到第7行、光标移动到行尾或行首等等。本文通过练习加测验的模式带你快速玩溜 Vim 定位操作。

需要注意的是:本文适合有Linux 基础并了解Vim ,但是不熟悉其定位操作的同学。

接下来就来开始介绍 Vim 中常用的定位操作,本文中的操作一定要多练习方能彻底掌握Vim 定位大法欧。

定位操作简单介绍

在练习之前首先来大致了解一下常用的定位操作,具体的快捷键和其的作用如下:

  • h:向左移动一个光标。
  • j: 向下移动一个光标。
  • k:向上移动一个光标。
  • l: 向右移动一个光标。
  • 0:移动到光标所在行的行首
  • $:移动到光标所在行的行尾
  • w:移至下一个单词开头包含中划线的单词
  • W:移至下一个单词开头不包含中划线的单词
  • e:移至下一个单词结尾包含中划线的单词
  • E:移至下一个单词结尾不包含中划线的单词
  • b:向后移到下一个单词开头包含中划线的单词
  • B:向后移到下一个单词开头不包含中划线的单词
  • gg/1G:移至第一行的开头
  • numberG:移至数字指定的行的开头
  • G:移至最后一行的开头

Vim 定位操作练习说明

正所谓光说不练假把式,在了解完具体的定位快捷键后,有的小伙伴可能还是一头雾水,没关系跟着下面演示操练起来吧!多练几次就了解了。

首先打开命令窗口输入 vim operation-practice.txt 然后点击回车(默认进入的是普通模式),点击 i 键 进入编辑模式后输入如下图内容。点击 Esc 退出到普通模式下通过 shift + : 进入命令模式,然后输入w + 回车 保存 operation-practice.txt 文件后就可以开始操作了。

看完这篇学不会 Vim 定位操作我跟你姓!_第1张图片

直线左右路线

光标从第一行 a 开始向右移动到第一行 0 在由 第一行 0 开始向左移动到第一行 a,直线左右路线是练习 h 向左 l 向右的操作。

直线上下路线

光标从第一行 a 开始向下移动到第七行的 a 在由第七行的 a 开始移动到第一行 a, 直线上下路线是练习 k 向上 j 向下的操作。

口型路线

口型路线具体操作需要如下4步,最后形成的效果是一个口字。口型路线是练习 k 向上 j 向下 h 向左 l 向右 的操作。

  1. 从第一行 a 开始向右移动到 0
  2. 从第一行的 0 开始移动到第七行的 0
  3. 从七行的 0 开始移动到第七行的 a
  4. 从七行的 a 开始移动到第一行 a

上下 S 弯路线

上下 S 弯路线具体操作是按照如下3步以此类推,最后形成一个好像是多个横着的 S。上下 S 弯路线是练习 k 向上 j 向下 h 向左 l 向右 的操作。

  1. 从第一行 a 开始向下移动到第七行的 a
  2. 从第七行的 b 移动到第一行的 b
  3. 从第一行的 c 移动到从第七行 c


左右 S 弯路线

左右 S 弯路线具体操作是按照如下3步以此类推,最后形成一个好像是多个竖着的 S。左右 S 弯路线是练习 k 向上 j 向下 h 向左 l 向右的操作。

  1. 从第一行 a 开始向右移动到第一行的 0
  2. 从第二行的 z 移动到第二行的 1
  3. 从第三行的 a 移动到第三行 0


到这里基本的上下左右移动练习介绍完毕,接下了练习,单词跳转和指定行跳转等定位的操作。

和上面上下左右练习一样首先命令窗口输入 vim word.txt 然后点击回车(默认进入的是普通模式),点击 i 键 进入编辑模式后输入如下图内容。点击 Esc 退出到普通模式下通过 shift + : 进入命令模式,然后输入w +回车 保存 word.txt 文件后就可以开始操作了。
看完这篇学不会 Vim 定位操作我跟你姓!_第2张图片
一个一个单词跳转:

点击 w 或 W 会进行单词的一个一个的跳转,w 和 W 的区别是w包含中划线的单词 而W不包含中划线的单词。e 和 E的效果也是一个一个单词跳转,区别是 e 和 E 是跳转到单词末尾这里就不做演示了。

w 执行的效果如下:

W 执行的效果如下:

点击 b 会由后向前一个单词一个单词进行跳转 和 w、e 正好相反。

b 执行的效果如下:

首行和尾行开头的跳转

输入gg 会快速跳转到文本内容第一行的开头,输入 shift + g 会快速跳转到文本内容最后一行的开头。

gg 和 G 的效果如下:
看完这篇学不会 Vim 定位操作我跟你姓!_第3张图片
首行开头末尾的跳转

输入 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 定位操作键位。具体玩法如下面的动图所示:

看完这篇学不会 Vim 定位操作我跟你姓!_第4张图片
如果你的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动作通过无墙壁的口进入。
  • 游戏刚开始会给你三个生命。每次击败0、3、6、9等级别,您都会获得生命如下图所示红色框表示你还有几条命。

看完这篇学不会 Vim 定位操作我跟你姓!_第5张图片

文章的最后感谢 占小狼的博客 公众号发表的 Vim一直学不会?试试这个 “真香” 神器 让我知道这么好玩的游戏。

你可能感兴趣的:(【Linux】)