免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1647 | 回复: 1
打印 上一主题 下一主题

[学习分享] VI命令快速参考 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-21 11:05 |只看该作者 |倒序浏览
VI命令快速参考
命令

作用

光标移动单个字符

h或^H或左箭头键

左移一个字符

j或^N或下箭头键

下移一行

k或^P或上箭头键

上移一行

l或右箭头键

右移一个字符

光标在行内的移动

^

移至该行第一个非空字符处

0

移至行首

$

移至行尾

f char

移至下一个与char匹配的字符

F char

移至上一个与char匹配的字符

t char

移至下一个与char匹配的字符前的那个字符处

T char

移至上一个与char匹配的字符后的那个字符处


在同一方向重复前面的f,F,t和T命令


在相反方向重复前面的f,F,t和T命令

移至某指定行

回车

移至下一行

+

移至下一行(通常与计数连用)

-

移至上一行(通常与计数连用)

numberG

移至number行

numberl

移至该行第number列

在屏幕上定位

H

移至屏幕最顶行

L

移至屏幕最底行

M

移至处于屏幕中间的行

^D

往下滚动半个屏幕的内容

number^D

往下滚动number行

^U

往上滚动半个屏幕的内容

number^U

往上滚动半个屏幕的内容

^F

向前滚动一屏内容

^B

向后滚动一屏内容

^E

往下滚动一行

^Y

往上滚动一行

词法对象的定位

w

前移一个小字

W

前移一个大字

b

回移一个小字

B

回移一个大字



e

移至下一个小字尾

E

移至下一个大字的末尾

(

移至上一句的开头处

)

移至下一句的开头处

{

移至上一段的开头处

}

移至下一段的开头处

[[

移至上一节的开头处

移至下一节的开头处

通过查找样本定位

/pattern

移至下一个包含pattern的行

?pattern

移至上一个包含pattern的行

/

往下重复查找

?

往上重复查找

n

在同一方向重复查找

N

在相反方向重复查找

/pattern/+nbr

移至下一个pattern所在行后的第nbr行

? pattern?-nbr

移至上一个pattern所在行后的第nbr行

/ pattern/z-

重绘屏幕,使下一个包含pattern的行位于屏幕底行(其它z的选项也会导致相应的定位操作)

%

移至与光标所在的括弧匹配成对的圆括弧或大括弧

定位到标记文本所在位置

m char

用字母char标记当前光标的位置

` char(一个右撇号)

移至char所标记处

‘char(一个单引号)

移至char标记所在行的开头处

``(两个右撇号)

移至当前行上一次所在位置(在光标移动之后)

‘‘(两个单引号)

移至当前行上一次所在位置的行的开头处(在光标移动之后)

插入文本(下述命令只能在插入模式中使用)

i

在光标前插入文本

I

在当前行的第一个非空字符前插入文本

a

在光标后插入文本

A

在行尾插入文本

o

在当前行下边增加新行、并在新行进入插入模式

O

在当前行上增加新行、并在新行进入插入模式

在插入模式修改文本

^H

退格并删除前一字符(仅当开始插入之后)

^W

光标退回一字,同时删除该字(仅当开始插入之后)

\

删除字符序列

Esc

终止插入模式,回到命令模式

^D

回到上一个自动缩进处

^^D

仅当前行取消自动缩进格式



O^D

光标移回左边界

^V

向文本插入任意字符(保护控制字符不被覆盖)

改变文本

c object

将文本对象改为插入的文本,直到按下Esc键

C

将当前光标后边部分改为插入的文本,直到按下Esc键(同c$)

cc

将整行改为插入的文本,直到按下Esc键

r char

用char替换光标处的字符,然后回到命令模式

R

覆盖当前文本,直到按下Esc键,如超过行尾,在行后附加文本

s

替换字符序列(同cl)

S

替换行序列(同cc)

删除文本

x

删除光标处的字符

X

删除光标前的字符

d object

删除文本对象

D

删至行尾(同d$)

dd

删除行

使用缓冲区

u

撤消上一次改动

U

恢复当前行到光标最上一次在该行时的状态

y object

将文本对象放入撤消缓冲区

yy

将光标所在行的内容放入撤消缓冲区

Y

将光标所在行的内容放入撤消缓冲区

p

将撤消缓冲区的文本放置到光标后

P

将撤消缓冲区的文本放置到光标前

‘‘letter d object

删除对象,并送入名为letter的缓冲区

‘‘letter y object

取样对象到名为letter的缓冲区

‘‘letter p

将名为letter的缓冲区内的文本放置到光标后

其它编辑命令


重复上一次编辑的命令

~

改变光标处字符的大小写,光标左移一字符

J

联接上下两行

>>

将行右移shiftwidth个字符(通过set sw来改变shiftwidth)

>L

将从光标所在行至屏幕最底行间的所有行右移shiftwidth个宽度

<<

将行左移shiftwidth个字符

<L

将从光标所在行至屏幕最底行间的所有行左移shiftwidth个宽度

退出命令

zz

将缓冲区写到磁盘后退出VI

Q

进入ex编辑器(同:)

:q

如果没有未存盘的缓冲区,就退出VI

:q!

强行退出,忽略缓冲区未存盘的警告信息



:wq

将缓冲区写盘并退出VI(同zz)

保存缓冲区到文件

:w

写缓冲区命令,将缓冲区用原文件名保存到磁盘

:w file

将缓冲区写到盘上的文件file

:w!

将缓冲区写到盘上,并覆盖文件file

编辑其它文件

:e file

开始编辑文件,除非原有的缓冲区还未存盘

:e!

放弃所有的改动,从上次保存在盘中的文件开始编辑

:e+ file

编辑文件file,除非原有缓冲区还未存盘,光标停在最下面一行

:e+ nbr file

编辑文件file,除非原有缓冲区尚未存盘,光标停在第nbr行

:e#

编辑备份文件

:n

编辑下一个文件(用于在命令行中输入多个文件名的情况)

:n file file  file

设定待编辑的新的文件队列

:r file

将文件内容读入(插入)光标下一行所在的缓冲区

:r! command

执行shell命令,并将该命令的输出插在光标的下一行

^G

显示与前文件有关的信息(文件号,当前行号,总行数,所占比例)

:ta tag

跳到由tag指定的文件及文件内的位置(用ctags创建tag文件)

重绘屏幕

z

重绘屏幕,将当前行置于屏顶

z-

重绘屏幕,将当前行变成屏幕底行

z.

重绘屏幕,将当前行置于屏幕中央

^L

重绘屏幕(具体由终端类型决定)

^R

重绘屏幕并删去作了@标记的空行(具体由终端类型决定)

z number

设置屏幕视窗大小为number行

UNIX的shell命令

:sh

运行shell,然后一直留在shell,直到用^D命令退出为止

:! Command

执行shell命令command,然后回到VI

:!!

重复前一次shell命令

! object cmd

执行shell命令cmd,用cmd的输出替换文本对象object。如果cmd接收标准输入,则必须用特定的文本对象

nbr!! cmd

执行shell命令cmd,用cmd的输出内容替换从当前行开始的nbr行文本。nbr的缺省值为1。如果cmd接收标准输入,则必须用特定的文本对象

Ex编辑命令

:vi

从ex命令行进入visual模式Vi

:addr d

删除由addr指定的那些行

:addr m nbr

将由addr指定的那些行移动到第nbr行之后

:addr co nbr

将由addr指定的那些行复制到第nbr行之后

:addr t nbr

将由addr指定的那些行复制到第nbr行之后(同co命令)






论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
2 [报告]
发表于 2013-02-22 12:39 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP