1.以Word为单位的光标移动
w 往右移一个word 3w向右移动3个word b 往左一个word |
"e"命令会将光标移动到下一个word的最后一个字符. "ge"命令会将光标移动到前一个word的最后一个字符上。 |
2.将光标移到行首或行尾
"$"命令将光标移动到当前行行尾。<End>键的作用也一样。 "1$"会将光标移动到当前行行尾,"2$"则会移动到下一行的行尾,如此类推。 |
"^"命令将光标移动到当前行的第一个非空白字符上. "0"命令则总是把光标移动到当前行的第一个字符上。 |
3.将光标移动到指定的字符上(这4个命令不会使光标跑到其它行上)
"f"意为"find":命令"fx"在当前行上查找下一个字符x。 "F"命令向左方向搜索。 |
"t"意为"To":命令"tx"是把光标停留在被搜索字符前的一字符上。 该命令的反方向版是"Tx": |
这4个命令都可以用";"来重复。","也是重复同样的命令,但是方向与原命令向相反。 |
4.将光标移动到匹配的括号上
“%”跳转到与当前光标下的括号相匹配的那一个括号上去。 这对方括号[]和花括号fg同样适用。 |
如果当前光标在"("上,它就向前跳转到与它匹配")"上 如果当前在")"上,它就向后自动跳转到匹配的"("上去 |
5.将光标移动到指定的行上
"G"命令会把光标定位到文件尾。 "33G"把光标置于第33行上。 |
"50%"会把光标定位在文件中间. "90%"跳到接近文件尾。 |
"H"意为Home, 把光标定位在屏幕上的顶部 "M"为Middle, 把光标定位在屏幕上的中间 "L"为Last, 把光标定位在屏幕上的尾部 |
6.移动光标
3<space> | 左移3行 | $ | 移到当前行的行尾 |
:3 | 到第3行 | 0 | 移到当前行的行首 |
3z<enter> | 将第3行滚至屏幕顶部 | ^ | 行首,非空格 |
+ | 移到下一行的行首 | n+ | 上移n行 |
- | 移到上一行的行首 | n- | 下移n行 |
gg | 文件头 | k, j, h, l | 上. 下.左.右 |
Enter | 换行 | kkk/3k | 上移3行 |
|
| % | {}()[]匹配 |
7.滚屏
CTRL-u命令会向上翻半页 CTRL-d命令会向下翻半页 |
CTRL-f是向前滚动一整屏 CTRL-b是向后滚动一整屏 |
CTRL-e向上滚动一行, CTRL-E 意为Extra CTRL-y向下滚动一行(MS-Windows兼容的映射键,CTRL-Y可能被映射为重做) |
"zz"命令会把当前行置为屏幕正中央: "zt"命令会把当前行置于屏幕顶端 "zb"则把当前行置于屏幕底端。 |
8.简单的搜索
/str1或:/str1/ | 从光标开始处向文件尾搜,正搜 |
/str或:?str? | 从光标开始处向文件首搜索,反搜 |
n | 在同一方向重复上一次搜索命令,正查 |
N | 在反方向上重复上一次搜索命令,反查 |
*:读取光标处的字符串,并且移动光标到它再次出现的地方。 | |
#:和上面的类似,但是是往反方向寻找。 | |
简单的模式搜索 ^ 字符匹配一行的开头。象"^root"就只匹配出现在一行开头的root. $字符匹配一行的末尾。象"was$"只匹配位于一行末尾的单词was. "/^the$"只会匹配到一行的内容仅包含"the"的情况。 |
9.使用标记
当你用"G"等命令从一个地方跳转到另一个地方时,Vim会记得起跳的位置 ``命令可以在两点之间来回跳转。 CTRL-O命令是跳转到你更早些时间停置光标的位置(提示:O意为older). CTRL-I则是跳回到后来停置光标的更新的位置(提示:I在键盘上位于O前面)。 备注: 使用CTRL-I 与按下<Tab>键一样。 |
":jumps"命令会列出关于你曾经跳转过的位置的列表。最后一个跳转的位置以">"标记。 |
定义自己的标记, 从a到z一共可以使用26个自定义的标记 命令"m{mark}"将当前光标下的位置名之为标记"{mark}"。 ’mark(单引号)会使你跳转到mark所在行的行首。 `mark会精准地把你带到你定义mark时所在的行和列。 |
可以使用下面这个命令来查看关于标记的列表: :marks |
在这个列表里你会看到一些特别的标记。象下面这些: ''进行此次跳转之前的起跳点 '" 上次编辑该文件时光标最后停留的位置 ' [ 最后一次修改的起始位置 '] 最后一次修改的结束位置 |