VIM 基本入门(移动)

为什么叫 基本入门 而不是 入门 呢?

因为我觉着我都还没入门…

这里作者主要说的是怎样移动你的光标, 毕竟没有鼠标, 所以快捷键就显得非常重要了, 这里介绍了很多快速移动的快捷键, 希望大家熟记于心.(拿出来装逼也好呀)

作者写了八个方面, 在此列举:

  • 行间移动
  • 屏幕间移动
  • 单词移动
  • 特殊移动
  • 段落间移动
  • 搜索移动
  • 代码间移动
  • 从命令行中移动(command 模式)
    由于这些操作都是需要自己动手的, 没办法展示出来(其实还是由办法的, 比如gif图,有好多软件可以做到,看这里的回答; 还有就是用script"录"下来,不过那个文件还要传到上面,反正挺麻烦的,不如让各位看官自己动手了,好了,不废话了…)

1. 行间移动

按键方向
k移动
j移动
h移动
l移动
10j下移10
5h左移5个字母
0移动到行首
^移动到行首第一个单词
$移动到行尾
g_移动到行尾第一个单词

2. 屏幕间移动

也就是以屏幕为单位的移动啦

按键方向
H移动到本屏首行
M移动到本屏的中间
L移动到本屏的尾行
Ctrl + f移动一个屏幕
Ctrl + b移动一个屏幕
Ctrl + d移动半个屏幕
Ctrl + u移动半个屏幕

3. 特殊移动

下面的是比较特殊的移动方式:

按键方向
N%移动到文件的N%的位置, 比如50%
NG移动到文件第N行, 比如6G
gg移动到文件头
G移动到文件末尾
`"移动到上次在"Normal"模式下关闭文件时的地方
`^移动到上次在"Insert"模式下关闭文件时的地方

4. 单词间移动

按键方向
e移动到单词末尾
E移动到大单词末尾
b移动到上一个小单词
B移动到上一个大单词
w移动到下一个小单词
W移动到下一个大单词

大小写的区别:

  • 大写的移动: 移动的单词为一连串. 比如 192.168.1.1 – 是1个大写的单词
  • 小写的移动: 移动的单词以非数字或字母为分界线. 比如 192.168.1.1 – 是7个小写的单词

其实你自己动手操作下就能够知道他们之间的区别了.

5. 段落间移动

所谓"段落",就是用空行隔开的句子段.

按键方向
{移动到段首
}移动到段尾

6. 搜索移动

按键方向
/text 从光标处向下搜索
?text 从光标处向上搜索
* 移动到光标所在单词的下一个位置
# 移动到光标所在单词的上一个位置

其实这里说的不全, 因为还有nN的存在.n是移向下一个搜索目标,N是移向上一个搜索目标.

*就好像一个组合键, 搜索光标所在位置的单词的同时,又移向了下一个目标. 这对于编辑html文档很有用, 闭合标签嘛

#类似, 只不过搜索方向不同而已.

7. 代码间移动

这个就是在两个括号之间移动…. 按%就可以在两个半闭合的括号来回移动, 所谓 "代码间移动"…. 我都觉着这名字很狗血…

8. 从命令行中移动(command 模式)

这个的意思是在打开的时候就移动到某一行, 我不知道怎样起名字,暂且称之为标题中的吧… 狗血就狗血吧…

  • vim +10 /etc/passwd # 打开/etc/passwd之后,光标在第十行
  • vim +/install README # 打开README之后,光标在第一个install前面(如果有的话)
  • vim +?bug README # 打开README之后, 光标在最后一个bug前面(同上)

扩展阅读