Skip to content

第一章:光标移动 ​

欢迎进入第一章,这一章将学习简单的光标移动操作。

如果你已经有了一定基础,这部分可以略过,直接 G 到文档尾部按照操作进入下一章。

开始前先确认自己处于 Normal 模式:按一下 Esc。Vim 的移动键不是需要逐个背诵的 快捷键,它们会在后面和删除、修改、复制等操作组合使用。现在先把“移动到哪里”练熟。

移动光标 ​

单位级 ​

  • h 向左一字符
  • j 下一行
  • k 上一行
  • l 向右一字符

单词级 ​

  • w or W 向右移动到下一单词开头
  • e or E 向右移动到单词结尾
  • b or B 向左移动到单词开头

注意:所有小写单词都是以分词符作为单词界限,大写字母以空格作为界限

在下面字符块中感受一下各种移动吧!

This project's GitHub url is https://github.com/dofy/learn-vim
Please clone it to your local folder and open the first file which is
named chapter01.md via following command "vim chapter01.md"
and welcome to https://yahaha.net :)

把光标放到 This 上,只用单词移动依次到达 GitHub、https 和行尾的 learn-vim。走过头时用 b 返回。观察 w 与 W 在网址上的区别。

块级 ​

  • gg 到文档第一行
  • G 到文档最后一行
  • 0 到行首(第 1 列)
  • ^ 到第一个非空白字符
  • $ 到行尾
  • H 移动到屏幕顶端
  • M 移动到屏幕中间
  • L 移动到屏幕底部
  • Ctrl-d 向下移动半页
  • Ctrl-u 向上移动半页
  • Ctrl-f 向下移动一页
  • Ctrl-b 向上移动一页
  • :<N> or <N>gg 跳转到第 N 行
  • :+<N> or <N>j 向下跳 N 行
  • :-<N> or <N>k 向上跳 N 行

注意:所有命令前都可以加一个数字 N,表示对后面的命令执行 N 次,例如你想向下移动 3 行,除了可以用 :+3 之外,还可以用 3j 来实现同样的效果。另外,上面实际上有 两种命令:一种是键入后立即执行的,比如 gg;还有一种是先输入 : 的(后面还会出 现先按 / 的),这类命令需要在输入完成后按回车执行,后面的教程中也是一样。

数字与移动 ​

大多数移动命令前都能加数字,表示重复次数。与其连续按十次 j,不如先估算距离,再 按 10j。不必追求一次猜准:8j 之后再用 j、k 微调通常更快。

  • 3w 向前移动三个单词
  • 5j 向下移动五行
  • 2Ctrl-d 向下移动两个半页

从当前行执行 5j,再用 5k 返回。如果位置不对,先按 u 没有用——u 撤销的 是文本修改,不是光标移动;直接反向移动回来即可。

现在你可以在当前文件中畅游了,当你熟悉了各种移动操作后就可以通过 G 定位到当 前文档到最后一行,按照提示进入下一章了。

将光标定位到后面文件名的任意位置上,直接敲键盘 gf 进 入第二章。