vi 的基本操作

Command-Line-Options

vi -r file recover files and recent edit after crash

Text

w b 下一个单词、上一个单词

W B 下一段单词,上一段单词

e 下一段单词的结尾

E 上一段单词的结尾

 ) 以空一行为一段,显示下一段

( 以空一行为一段,显示上一段

}{ 跟上面差不多段操作为主,跟上面差不多

]]结尾,[[开头

Lines

0 一行的开头,$一行的结尾

^一行的非空白字符的开头

+ 下一行的非空白字符开头

-上一行的非空白字符开头

n| 这一行的第几列

H 屏幕的开头

M 屏幕的中间

L 屏幕的结尾

nH开头往下几行

nL开头往上几行

Scrolling

CTROL+F往下滚屏

CTROL+B往上滚屏

CTROL+D往下滚半屏幕

CTROL+U往上滚半屏幕

z+ENTER  当前光标以上滚上去

Search

/pattern 本行匹配这个单词

;往下寻找匹配的单词

,往上回找

?pattern寻找单词

N下一个匹配的

n上一个匹配的

Ff本行中从光标往前找字符f,停留在f的位置上

Tx本行中从光标往后找字符f,停留在f的位置上

ff本行中往前找字符f,停留在f的位置上

2ff在本行中寻找第二个f

tf从光标往后找字符f,停在f的前面

Line-Number

nG跑到第n行

:n跑到第n行

Marking-Position

mx 在此处标记为x然后通过后面的指令寻找

‘x 找到x的地方

''回到调用处,或者再次回到x处

Insert

//这三个就不说了

i,a 

I,A

o,O

Change

cw 改变一个单词

cc改变一行

C从光标处删除到结束

r可以改变单个字符

s删除单个字符,然后进入编辑的模式

R进入替换的模式

S删除当前的行,然后进入编辑的模式

Delete,move

x删除当前的字符,不进入编辑模式

X删除光标前面的字符

ndd删除下面n行

%符号可以在不同的括号之间就行移动

1,9d删除1到9行

dw删除一个单词

dd删除当前的行

d  motion 当上下左右的移动将改变删除的东西

D删除光标出到结尾。

p,P将剪切的字符放到当前光标的上面或则下面

Yank

4,6 co 12 第四行到第六行 复制到12 行的下面

np复制几次,相同的信息

yw复制一个单词

"ayy 将一行的内容存入到寄存器中,寄存器有a-z

"aP将寄存器中的内容取出送到光标的前面

Other Commands

. 重复上一次的动作

J合并两行

u,U恢复,撤销恢复

Exit Commands

ZZ保存并退出

:30,60w newfile  30-60行作为一个新的文件

:30,60>>file 30-60行追加到一个文件中

maps

:map x sequence 将x映射为sequence

:unmap x

 

folds

zc  折叠

zo  展开折叠

zR 展开所有折叠
zM 所有折叠

 

 

 

 

posted @ 2012-11-08 08:24  Epirus  阅读(402)  评论(0编辑  收藏  举报