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前面(同上)