Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1801631
  • 博文数量: 286
  • 博客积分: 3713
  • 博客等级: 少校
  • 技术积分: 2275
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-11 09:47
个人简介

http://blog.chinaunix.net/uid/16979052.html

文章分类

全部博文(286)

文章存档

2018年(1)

2017年(16)

2016年(9)

2015年(17)

2014年(15)

2013年(112)

2012年(116)

分类: LINUX

2013-03-25 08:38:54

P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); text-align: justify; }P.western { font-family: "Times New Roman",serif; font-size: 10pt; }P.cjk { font-family: "宋体","SimSun"; font-size: 10pt; }P.ctl { font-family: "Times New Roman",serif; font-size: 12pt; }

Vi编辑器有三种模式:

  • 命令模式:vi进入时所处的模式

  • 文本输入模式:在此模式下可以编辑文本

  • 命令项模式:在此模式下可以输入各种子命令,对文本进行操作,如删除等

以下列表提供vi基本命令的一个参考文档:

命令 含义

starting vi

vi filename 打开或创建文件

vi 打开新文件以后再命名

vi -r filename 恢复被毁坏的文件

view filename 打开文件只读

命令模式下命令:

h 向左移动一个字符

j 向下移动一行

k 向上移动一行

l 向右移动一个字符

w 向右移动一个词

W 向右移动一个词(跳过标点符合)

b 向左移动一个词

B 向左移动一个词(跳过标点符合)

e 移动到当前词的结尾

E 移动到前一个大字的结尾

fc 把光标移到同一行的下一个c字符处

Fc 把光标移到同一行的前一个c字符处

tc 把光标移到同一行的下一个c字符前一格

Tc 把光标移到同一行的下一个c字符后一格

Number| 将光标移动到第number列上

H 移动到屏幕顶部一行

L 移动到屏幕底部一行

M 移动到屏幕中间

  1. 把光标移动到第一个字符处

$ 把光标移动到最后一个字符处

+或Enter 把光标移动到下一行第一个非空白字符

把光标移动至上一行第一个非空白字符

下面是命令模式下改变屏幕显示的命令

z- 把当前行做为屏幕的最后一行,并重新显示屏幕

z. 把当前行作为屏幕的中间一行,并重新显示屏幕

Ctrl+l 重新显示屏幕当前内容

/pattern/z- 寻找pattern的下一个位置,并把所在行设为屏幕的最后一行

r filename 在光标之后插入读取的文件

34 r filename 34行之后插入读取的文件


命令模式下显示页面命令

Ctrl+f 向后滚一页

Ctrl+d 向后滚半页

Ctrl+b 向前滚一页

Ctrl+u 向前滚半页

Ctrl+e 屏幕向下滚一行

Ctrl+y 屏幕向上滚一行


查找字符串的命令

/pattern 向后寻找指定的pattern,如遇到文件尾,则从头再开始

pattern 向前寻找指定的pattern,如遇到文件头,则从尾再开始

n 在上次指定的方向上,再次执行上次定义的查找

N 在上次指定的方向的相反方向湖上,再次执行上次定义的查找

/pattern/+number 将光标停在包含pattern的行后面第number行上

/pattern/-number 将光标停在包含pattern的行前面第number行上

g/serch/s//replace/g 查找并替换

输入文本的子命令

a 在光标之后开始输入文本

A 在行尾开始输入文本

i 在光标之前开始输入文本

I 在行首第一个非空白字符前输入文本

o 在光标所在行后插入一空行

O 在光标所在行前插入一空行

改变文本的命令:

ccS 修改一整行

C 改变一行光标位置以后的部分

cw 修改光标所在单词

J 把下一行内容加到本行行尾

rc 把光标所在字符替换成c

R 覆盖本行内容

u 恢复上一次的修改

U 撤销对当前行所做的所以修改

u 撤销前一个最后行命令

xp 将光标处字符与其右面字符颠倒

改变光标所在处字符的大小写

重复上一次动作

<< 把当前行移到左边

>> 把当前行移到右边


删除文本命令:

x 删除光标所在的字符

X 删除光标左侧字符的大小写

dw 删除光标所在单词

dd 删除当前行

D 删除光标所在行光标后面的内容

dG 删除到文件结尾

d1G 从文件开头删除到光标处

510 d 删除510

复制和移动文本命令:

yy 复制行

Y 复制行

p 在当前行下面放置被复制或删除的行

P 在当前行上面放置被复制或删除的行

12 co 3 复制行12并放置到行3之后

45 m 6 移动行45并放置到行6之后

设置行号:

set nu 显示行号

set nonu 隐藏行号

设置区分大小写:

set ic 查找忽略大小写

set noic 查找区分大小写

保存和退出文件:

w 保存更改

w filename 写入命名的文件

wq 保存更改并退出vi

ZZ 保存更改并退出vi

q 退出但不保存更改

x 保存更改并退出vi

其他一些命令:

Ctrlg 取得正在编辑文档的相关信息

sh 启动sh,从sh返回可以用exitctrld

:!Command 执行命令command

阅读(1110) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~