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 | 从光标处向上搜索 |
* | 移动到光标所在单词的下一个位置 |
# | 移动到光标所在单词的上一个位置 |
其实这里说的不全, 因为还有n
和N
的存在.n
是移向下一个搜索目标,N
是移向上一个搜索目标.
*
就好像一个组合键, 搜索光标所在位置的单词的同时,又移向了下一个目标. 这对于编辑html文档很有用, 闭合标签嘛
#
类似, 只不过搜索方向不同而已.
7. 代码间移动
这个就是在两个括号之间移动.... 按%
就可以在两个半闭合的括号来回移动, 所谓 "代码间移动".... 我都觉着这名字很狗血...
8. 从命令行中移动(command 模式)
这个的意思是在打开的时候就移动到某一行, 我不知道怎样起名字,暂且称之为标题中的吧... 狗血就狗血吧...
vim +10 /etc/passwd
# 打开/etc/passwd
之后,光标在第十行vim +/install README
# 打开README之后,光标在第一个install
前面(如果有的话)vim +?bug README
# 打开README之后, 光标在最后一个bug
前面(同上)