VIM使用技巧

插入:

a //在光标当前所在字符位置的后面输入文本数据。

A // 在光标当前所在行的行尾(也即最后一个字符位置)后面输入文本数据。

i //在光标当前所在字符位置的前面输入文本数据。

I //在光标当前所在行的行首(也即在第一个非空白的起始字符)前面输入文本数据。

o //在光标当前所在行下面的行首位置输入文本数据。

O //在光标当前所在行上面的行首位置输入文本数据。

移动光标

在 vi 中, 移动光标和编辑是两件事, 正因为区分开来, 所以可以很方便的进行光标定

位和编辑. 因此能更快一点移动光标是很有用的.

w 移动光标到下一个单词开头.

e 移动光标到下一个单词结尾

b 移动光标到上一个单词.

0 移动光标到本行最开头.

^ 移动光标到本行最开头的字符处.

$ 移动光标到本行结尾处.

A 移动光标至行尾并处于“追加”状态,直接编辑

H 移动光标到屏幕的首行.

M 移动光标到屏幕的中间一行.

L 移动光标到屏幕的尾行.

gg 移动光标到文档首行.

G 移动光标到文档尾行.

:n 跳至第n行

ctrl + f 向下翻页 同 page down.

ctrl + b 向上翻页 同 page up.

ctrl + d 向下翻半页 此比较有用

ctrl + u 向上翻半页 此比较有用

ctrl + e 向下翻一行

ctrl + y 向上一行

[[ 转到上一个位于第一列的“{”

]] 转到下一个位于第一列的“}”

{ 转到上一个空行

} 转到下一个空行

” 两个单引号 此命令相当有用, 它移动光标到上一个标记处, 比如用 gd, * 等查找到某个单词后, 再输入此命令则回到上次停留的位置.

‘. 一单一点 此命令相当好使, 它移动光标到上一次的修改行.

`. 一倒引一点 此命令相当强大, 它移动光标到上一次的修改点.

拷贝, 删除与粘贴


在 vi 中 y 表示拷贝, d 表示删除, p 表示粘贴. 其中拷贝与删除是与光标移动命令

结合的, 看几个例子就能够明白了.

yw 表示拷贝从当前光标到光标所在单词结尾的内容.

dw 表示删除从当前光标到光标所在单词结尾的内容.

daw 表示删除光标所在的单词,不管光标在此单词那一位置

y0 表示拷贝从当前光标到光标所在行首的内容.

d0 表示删除从当前光标到光标所在行首的内容.

y表示拷贝从当前光标到光标所在行尾的内容.

d[D] 表示删除从当前光标到光标所在行尾的内容.

特殊地:

yy 表示拷贝光标所在行.

dd 表示删除光标所在行.

D 表示删除从当前光标到光标所在行尾的内容.

xp 表示交换光标与其后的字符的位置

ddp 表示光标所在行与下一行交换

J 表示光标所在行与下一行合并