vi命令大全

vi命令大全
vi命令大全

熟悉VI 是学习UNIX 系统的一个关口

vi 是visual edit 的缩写

前言

文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!

进入vi的命令

vi filename :打开或新建文件,并将光标置于第一行首

vi +n filename :打开文件,并将光标置于第n行首

vi + filename :打开文件,并将光标置于最后一行首

vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

vi filename....filename :打开多个文件,依次进行编辑

移动光标类命令

h :光标左移一个字符

l :光标右移一个字符

space:光标右移一个字符

Backspace:光标左移一个字符

k或Ctrl+p:光标上移一行

j或Ctrl+n :光标下移一行

Enter :光标下移一行

w或W :光标右移一个字至字首

b或B :光标左移一个字至字首

e或E :光标右移一个字至字尾

) :光标移至句尾

( :光标移至句首

}:光标移至段落开头

{:光标移至段落结尾

nG:光标移至第n行首

n+:光标下移n行

n-:光标上移n行

n$:光标移至第n行尾

H :光标移至屏幕顶行

M :光标移至屏幕中间行

L :光标移至屏幕最后行

0:(注意是数字零)光标移至当前行首

$:光标移至当前行尾

屏幕翻滚类命令

Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。插入文本类命令

i :在光标前

I :在当前行首

a:光标后

A:在当前行尾

o:在当前行之下新开一行

O:在当前行之上新开一行

r:替换当前字符

R:替换当前字符及其后的字符,直至按ESC键

s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之

ncw或nCW:修改指定数目的字

nCC:修改指定数目的行

删除命令

ndw或ndW:删除光标处开始及其后的n-1个字

do:删至行首

d$:删至行尾

ndd:删除当前行及其后n-1行

x或X:删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u:删除输入方式下所输入的文本

搜索及替换命令

/pattern:从光标开始处向文件尾搜索pattern

?pattern:从光标开始处向文件首搜索pattern

n:在同一方向重复上一次搜索命令

N:在反方向上重复上一次搜索命令

:s/p1/p2/g:将当前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:将文件中所有p1均用p2替换

选项设置

all:列出所有选项设置情况

term:设置终端类型

ignorance:在搜索中忽略大小写

list:显示制表位(Ctrl+I)和行尾标志($)

number:显示行号

report:显示由面向行的命令修改过的数目

terse:显示简短的警告信息

warn:在转到别的文件时若没保存当前文件则显示NO write信息nomagic:允许在搜索模式中,使用前面不带“”的特殊字符nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始mesg:允许vi显示其他用户用write写到自己终端上的信息

保存退出命令

:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下

:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下

:n1,n2 d :将n1行到n2行之间的内容删除

:w :保存当前文件

:e filename:打开文件filename进行编辑

:x:保存当前文件并退出

:q:退出vi

:q!:不保存文件并退出vi

:!command:

执行shell命令command

:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入

:r!command:将命令command的输出结果放到当前行

寄存器操作

"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字

ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。

进入vi

vi test

离开vi

:q! 离开vi,并放弃刚在缓冲区内编辑的内容。

:wq 将缓冲区内的资料写入磁盘中,并离开vi。

:ZZ 同wq

同wq

:w 将缓冲区内的资料写入磁盘中,但并不离开vi。

:q 离开vi,若文件被修改过,则会被要求确认是否放弃修改的内容,此指令可与: w 配合使用。

Vi 的操作模式

Vi 提供两种操作模式:

输入模式(insert mode)

指令模式(command mode)

当使用者进入vi后,既处于指令模式下,此刻键入任何字元皆被视为指令。

输入模式:

a(append) 游标之后加入资料。

A 该行之末加入资料

i (insert) 游标之前加入资料

I 该行之首加入资料

o (open) 新增一行与该行之下供输入资料

O 新增一行与该行之上供输入资料

指令模式:B 移动

移至该行第一个字符,若光标在该行第一字符则光标移至上一行第一字符。

b 由游标所在位置之前一个字串的第一个字元

cc 删除整行,修改整行的内容。

D以行为单位,删除游标在内后面的所有字符。

db 删除该行光标前字符

dd 删除该行

de 删除自光标开始后面的字符

d加字符删除光标所在位置至字符之间的单

E移至该行最后字符,若光标在该行最后字符则光标移至下一行最后字符

e由游标所在位置至该字串的最后一个字元

G 移至该档案的最后一行

h 向前移一个字元

j 向下移一个字元

k 向上移一个字元

0 移至该行之首

M 移至视窗的中间那行

L 移至视窗的最后一行

l 向后移一个字符

0 由游标所在位置该行的第一个字元

nG 移至该档案的第n行

n+ 自游标所在位置向后移n行至该行的第一字符

n- 自游标所在位置向前移n行至该行的第一字符

R 进入取代状态,直到《ESC》为止

s 删除游标所在字元,并进入取代模式直到《ESC》

S 删除游标所在之该行资料,并进入输入模式直到《ESC》

w 由游标所在位置之下一个字串的第一个字元

x 删除游标所在该字元。

X 删除游标所在之前一字元。

r 用接于此指令之后的字元取代(replace)游标所在字元

yy yank整行,使游标所在该行复制到记忆体缓冲区

显示该行之行号、档案名称、档案中最末之行号、游标所在行号占

总行号之百分比

$ 由游标所在位置至该行的最后一个字元。

)由游标所在位置至下一个句子的第一个字元。

(由游标所在位置至该句子的第一个字元。

{ 由游标所在位置至该段落的最后一个字元。

} 由游标所在位置至该段落的第一个字元

yank和delete可将指定的资料复制到记忆体缓冲区,而藉有put指令可将缓冲区内的资料复制到荧幕上

例如:搬移一行:在该行执行dd

游标移至目的地

执行p

复制一行:在该行执行yy

游标移至目的地

执行p

视窗移动:

视窗往下卷一页

视窗往上卷一页

视窗往下卷半页

视窗往上卷半页

视窗往下卷一行

视窗往上卷一行

删除、复制及修改指令介绍:

d(delete)、c(change)和y(yank)这一类的指令在vi 中的指令格式为:

operation+scope=command

(运算子)(范围)

运算子:

d 删除指令。

删除资料,但会将删除资料复制到记忆体缓冲区。

y 将资料(字组、行列、句子或段落)复制到缓冲区。

p 放置(put)指令,与d和y配合使用。可将最后delete或yank的资料放置于游标所在位置之行列下。

c 修改(change)指令,类似delete于insert的组合。删除一个字组、句子等资料,并插入新键入的

该文章转载自网络大本营:https://www.360docs.net/doc/d52050830.html,/Info/15318.Html

set all 查看所有set选项

:set 显示当前set设置

:filetype on 通过$VIMRUNTIME/filetype.vim.打开文件类型检测

ai/noai 自动缩进,新行与前面的行保持—致的自动空格/不自动空格(缺省)

aw/noaw 自动写,转入shell或使用:n编辑其他文件时,

当前的缓冲区被写入/不写

flash/noflash 在出错处闪烁但不呜叫(缺省)/使用呜叫而不闪烁

ic/noic 在查询及模式匹配时忽赂大小写/不忽略大小写(缺省)

lisp/nolist 在编辑lisp程序时设置自动空格以便排列文本/按前一行自动设置空格

magic/nomagic 在进行模式匹配时使用全部的特殊宁符/将特殊宁符只限制于"^”和“$”mesg/nomesg 允许/不允许其他用户向终端上写东西

nu/nonu 屏幕左边显示行号/不显示行号(缺省)

ro/noro 只读,除非明确设置为:w,否则不允许对文件改动/普通读/写模式

remap/noremap 允许将宏直接映射到已经编辑好的命令行中(缺省)/求宏定义明确showmatch 显示括号配对,当键入“]”“)”时,

高亮度显示匹配的括号/缺省不高亮

showmode 处于文本输入方式时加亮按钮条中的模式指示器/缺省不指示当前模式

ts=n 将TAB键的跨度设置为n个宁符间距,缺省为8

warn/nowarn 对文本进行了新的修改后,离开shell时系统给出显示(缺省)

ws/nows 在搜索时如到达文件尾则绕回文件头继续搜索

wrap/nowrap 长行显示自动折行

wm=n 保留空边,n为显示的最右边留出的空白边的字符数

si smart indent 括号自动对齐

fe=prc 设置汉字整字处理

augroup 显示已存在auto命令组

nobackup 取消自动备份

encoding=prc 设置汉字处理,否则backspace删除半个汉字

cindent 设置C格式缩进,缩进量是通过shiftwidth的值,

而不是通过tabstop的值

cino=string string定义了特殊需求的cindent行为,

参看:h cinoptions-values :h cinkeys等

Linux如何退出VI编辑器2008-10-22 09:55:q退出

:q!强行退出(不存盘)

:qw or ZZ存盘退出

用ESC键只能切换到命令状态

更加详细内容:

在linux 底下最常使用的文书编辑器为vi ,请问如何进入编辑模式?

在一般模式底下输入:i, I, a, A 为在本行当中输入新字符;(出现–Insert- )在一般模式当中输入:o, O 为在一个新的一行输入新字符;

在一般模式当中输入:r, R 为取代字符!(左下角出现–Replace-)

如何由编辑模式跳回一般模式?

[Esc]

若上下左右键无法使用时,请问如何在一般模式移动光标?

h, j, k, l

若[pagedown] [ pageup] 在一般模式无法使用时,如何往前或往后翻一页?[Ctrl] + [f]

[Ctrl] + [b]

如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?

G, 1G, 0, $

如何删除一行、n行;如何删除一个字符?

dd, ndd, x 或X (dG 及d1G 分别表示删除到页首及页尾)

如何复制一行、n行并加以贴上?

yy, nyy, p 或P

如何搜寻string 这个字符串?

?string (往前搜寻)

/string (往后搜寻)

如何取代word1 成为word2,而若需要使用者确认机制,又该如何?

:1,$s/word1/word2/g 或

:1,$s/word1/word2/gc (需要使用者确认)

如何读取一个档案filename 进来目前这个档案?

:r filename

如何另存新档成为newfilename?

:w newfilename

如何存盘、离开、存盘后离开、强制存盘后离开?

:w;:q::wq;:wq!

如何设定与取消行号?

:set nu

:set nonu

关于文本编辑VI的问题

(一)进入vi

在系统提示字符(如$、#)下敲入vi <档案名称>,vi 可以自动帮你载入所要编辑的文件或是开启一个新

文件(如果该文件不存在或缺少文件名)。进入vi 后萤幕左方会出现波浪符号,凡是列首有该符号就代

表此列目前是空的。

(二)、两种模式

如上所述,vi存在两种模式:指令模式和输入模式。在指令模式下输入的按键将做为指令来处理:如输入

a,vi即认为是在当前位置插入字符。而在输入模式下,vi则把输入的按键当作插入的字符来处理。指令

模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在

输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次[ESC],系统如发出哔哔声就表

示已处于指令模式下了。

付:有指令模式进入输入模式的指令:

新增(append)

a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。

A:从光标所在列最後面的地方开始新增资料。

插入(insert)

i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。

I :从光标所在列的第一个非空白字元前面开始插入资料。

开始(open)

o :在光标所在列下新增一列并进入输入模式。

O: 在光标所在列上方新增一列并进入输入模式。

(三)、退出vi

在指令模式下键入:q,:q!,:wq或(注意:号),就会退出vi。其中:wq和是存盘退出,而:q是直接退出,

如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q

退出,或用:wq或命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件

而直接退出vi。

(四)、基本编辑

配合一般键盘上的功能键,像是方向键、[Insert] 、[Delete] 等等,现在你应该已经可以利用vi 来编辑文件

了。当然vi 还提供其他许许多多功能让文字的处理更为方便。

何谓编辑?一般认为是文字的新增、修改以及删除,甚至包括文字区块的搬移、复制等等。先这里介绍vi

的如何做删除与修改。(注意:在vi 的原始观念里,输入跟编辑是两码子事。编辑是在指令模式下操作

的,先利用指令移动光标来定位要进行编辑的地方,然後才下指令做编辑。)

删除与修改文件的命令:

x:删除光标所在字符。

dd :删除光标所在的列。

r :修改光标所在字元,r 後接著要修正的字符。

R:进入取替换状态,新增文字会覆盖原先文字,直到按[ESC] 回到指令模式下为止。

s:删除光标所在字元,并进入输入模式。

S:删除光标所在的列,并进入输入模式。

其实呢,在PC上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要删除字

元,直接按

[Delete] 不就得了。而插入状态与取代状态可以直接用[Insert] 切换,犯不著用什麽指令模式的编

辑指令。不过就如前面所提到的,这些指令几乎是每台终端机都能用,而不是仅仅在PC 上。在指令模式下移动光标的基本指令是h, j, k, l 。想来各位现在也应该能猜到只要直接用PC 的方向

键就可以了,而且无论在指令模式或输入模式下都可以。多容易不是。

当然PC 键盘也有不足之处。有个很好用的指令u 可以恢复被删除的文字,而U 指令则可以恢复光标所

在列的所有改变。这与某些电脑上的[Undo] 按键功能相同。

三、附件:vi详细指令表

(一)、基本编辑指令:

新增(append)

a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。

A:从光标所在列最後面的地方开始新增资料。

插入(insert)

i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。

I :从光标所在列的第一个非空白字元前面开始插入资料。

开始(open)

o :在光标所在列下新增一列并进入输入模式。

O: 在光标所在列上方新增一列并进入输入模式。

x:删除光标所在字符。

dd :删除光标所在的列。

r :修改光标所在字元,r 後接著要修正的字符。

R:进入取替换状态,新增文字会覆盖原先文字,直到按[ESC] 回到指令模式下为止。s:删除光标所在字元,并进入输入模式。

S:删除光标所在的列,并进入输入模式。

(二)、光标移动指令:

由於许多编辑工作是藉由光标来定位,所以vi 提供许多移动光标的方式,这个我们列

几张简表来说明(这些当然是指令模式下的指令):┌—————┬—————————————┬—————┐│指令│说明│功能键│├—————┼—————————————┼—————┤│0 │移动到光标所在列的最前面│[Home] │├—————┼—————————————┼—————┤│$ │移动到光标所在列的最後面│[End] │├—————┼—————————————┼—————┤│[CTRL][d] │向下半页││├—————┼—————————————┼—————┤│[CTRL][f] │向下一页│[PageDown]│├—————┼—————————————┼—————┤│[CTRL] │向上半页││├—————┼—————————————┼—————┤│[CTRL] │向上一页│[PageUp] │└—————┴—————————————┴—————┘┌——┬—————————————————┐

│指令│说明│├——┼—————————————————┤

│H │移动到视窗的第一列│├——┼—————————————————┤

│M │移动到视窗的中间列│├——┼—————————————————┤

│L │移动到视窗的最後列│├——┼—————————————————┤

│b │移动到下个字的第一个字母│├——┼—————————————————┤

│w │移动到上个字的第一个字母│├——┼—————————————————┤

│e │移动到下个字的最後一个字母│├——┼—————————————————┤

│^ │移动到光标所在列的第一个非空白字元│└——┴—————————————————┘┌——┬———————————————————┐

│指令│说明│├——┼———————————————————┤

│n- │减号移动到上一列的第一个非空白字元│

││前面加上数字可以指定移动到以上n 列│├——┼———————————————————┤

│n+ │加号移动到下一列的第一个非空白字元│

││前面加上数字可以指定移动到以下n 列│├——┼———————————————————┤

│nG │直接用数字n 加上大写G 移动到第n 列│└——┴———————————————————┘

┌————┬———————————————┐

│指令│说明│├————┼———————————————┤

│fx │往右移动到x 字元上│

│Fx │往左移动到x 字元上│├————┼———————————————┤

│tx │往右移动到x 字元前│

│Tx │往左移动到x 字元前│├————┼———————————————┤

│; │配合f&t 使用,重复一次│

│, │配合f&t 使用,反方向重复一次│├————┼———————————————┤

│/string │往右移动到有string 的地方│

│?string │往左移动到有string 的地方│├————┼———————————————┤

│n │配合/&? 使用,重复一次│

│N │配合/&? 使用,反方向重复一次│└————┴———————————————┘┌————┬———————————————————┬——————————┐

│指令│说明│备注│├————┼———————————————————┼——————————┤

│n( │左括号移动到句子的最前面│句子是以│

││前面加上数字可以指定往前移动n 个句子│! . ? 三种符号来界定│

│n) │右括号移动到下个句子的最前面││

││前面加上数字可以指定往後移动n 个句子││├————┼———————————————————┼——————————┤

│n{ │左括弧移动到段落的最前面│段落是以│

││前面加上数字可以指定往前移动n 个段落│段落间的空白列界定│

│n} │右括弧移动到下个段落的最前面││

││前面加上数字可以指定往後移动n 个段落││└————┴———————————————————┴——————————┘(三)、更多的编辑指令

这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。例如dw 是由删除指令d 与范围w 所

组成,代表删除一个字d(elete) w(ord) 。

指令列表如下:

d 删除(delete)

y 复制(yank)

p 放置(put)

c 修改(change)

范围可以是下列几个:

e 光标所在位置到该字的最後一个字母

w 光标所在位置到下个字的第一个字母

b 光标所在位置到上个字的第一个字母

$ 光标所在位置到该列的最後一个字母

0 光标所在位置到该列的第一个字母

) 光标所在位置到下个句子的第一个字母

( 光标所在位置到该句子的第一个字母

} 光标所在位置到该段落的最後一个字母

{ 光标所在位置到该段落的第一个字母

说实在的,组合这些指令来编辑文件有一点点艺术气息。不管怎麽样,它们提供更多编辑文字的能力。值得

注意的一点是删除与复制都会将指定范围的内容放到暂存区里,然後就可以用指令p 贴到其它地方去,这

是vi 用来处理区段拷贝与搬移的办法。

某些vi 版本,例如Linux 所用的elvis 可以大幅简化这一坨指令。如果稍微观察一下这些编辑指令

就会发现问题其实是定范围的方式有点杂,实际上只有四个指令罢了。指令v 非常好用,只要按下v 键,

光标所在的位置就会反白,然後就可以移动光标来设定范围,接著再直接下指令进行编辑即可。

对於整列操作,vi 另外提供了更方便的编辑指令。前面曾经提到过删除整列文字的指令dd 就是其中一个

;cc 可以修改整列文字;而yy 则是复制整列文字;指令 D 则可以删除光标到该列结束为止所有的文字。

(四)、文件操作指令

文件操作指令多以: 开头,这跟编辑指令有点区别。

:q 结束编辑(quit)

:q! 不存档而要放弃编辑过的文件。

:w 保存文件(write)其後可加所要存档的档名。

:wq 即存档後离开。

zz 功能与:wq 相同。

与:wq相同

linux vim使用快捷键超好

Linux上vi(vim)编辑器使用教程 vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。下面vps侦探整理一下vi的使用教程:包含vi的基本介绍、使用模式、文件的打开关闭保存、插入文本或新建行、移动光标、删除、恢复字符或行、搜索等等,算是一篇比较适合新手学习vi的教程。 vi有3个模式:插入模式、命令模式、低行模式。 插入模式:在此模式下可以输入字符,按ESC将回到命令模式。 命令模式:可以移动光标、删除字符等。 低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。 一、打开文件、保存、关闭文件(vi命令模式下使用) 1 2 3 4 5 6 vi filename //打开filename文件 :w //保存文件 :w https://www.360docs.net/doc/d52050830.html, //保存至https://www.360docs.net/doc/d52050830.html,文件 :q //退出编辑器,如果文件已修改请使用下面的命令:q! //退出编辑器,且不保存 :wq //退出编辑器,且保存文件 二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC 键可退出插入模式) 1 2 3 4 5 6 7 8 a //在当前光标位置的右边添加文本 i //在当前光标位置的左边添加文本 A //在当前行的末尾位置添加文本 I //在当前行的开始处添加文本(非空字符的行首) O //在当前行的上面新建一行 o //在当前行的下面新建一行 R //替换(覆盖)当前光标位置及后面的若干文本 J //合并光标所在行及下一行为一行(依然在命令模式) 三、移动光标(vi命令模式下使用) 1、使用上下左右方向键 2、命令模式下:h 向左、j 向下、k 向上、l 向右。 空格键向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。

vi命令列表

一般模式:移动光标 h 或向左方向键光标向左移动一个字符 j 或向下方向键光标向下移动一个字符 k 或向上方向键光标向上移动一个字符 l 或向右方向键光标向右移动一个字符 [Ctrl] + [f] 屏幕『向前』移动一页(常用) [Ctrl] + [b] 屏幕『向后』移动一页(常用) [Ctrl] + [d] 屏幕『向前』移动半页 [Ctrl] + [u] 屏幕『向后』移动半页 + 光标移动到非空格符的下一列 - 光标移动到非空格符的上一列 n 按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20 则光标会向后面移动 20 个字符距离。 0 这是数字『 0 』:移动到这一行的最前面字符处(常用) $ 移动到这一行的最后面字符处(常用)H 光标移动到这个屏幕的最上方那一行M 光标移动到这个屏幕的中央那一行 L 光标移动到这个屏幕的最下方那一行G 移动到这个档案的最后一行(常用) nG 移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的 20 行(可配合 :set nu) n 光标向下移动 n 行(常用)

一般模式:搜寻与取代 /word 向光标之后寻找一个字符串名称为 word 的字符串。(常用) word 向光标之前寻找一个字符串名称为 word 的字符串。 :n1,n2s/word1/word2/g 在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !(常用) :1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用) :1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给使用者确认(confirm)是否需要取代!(常用)

vi 操作指令

vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个和pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 插入文本类命令 i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符

vi编辑器命令详解

vi编辑器命令详解 vi命令是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件。若在vi执行时 没有指定一个文件,那么vi命令会自动产生一个无名的空的工作文件。若指定的文件不存在, 那么就按指定的文件名创建一个新的文件。若对文件的修改不保存的话,v i命令并不改变原 来文件的内容。 注意:vi命令并不锁住所编辑的文件,因此多个用户可能在同时编辑一个文件,那么最后 保存的文件版本将被保留。 下面是vi命令使用的一些选项及含义: -c sub-command 在对指定的文件编辑前,先执行指定的命令sub-command . -r filename 恢复指定的文件filename . -R 将指定的文件以只读的方式放入编辑器中,这样不会保存对文件的任何修改。 -y number 将编辑窗口的大小设为number行。 下面是vi编辑所处的三种模式: .命令模式进入vi时所处的模式。在此模式下用户可输入各种子命令对进行*作,如删除行、 粘贴行、移向下一个字、移向不同行等。 .文本输入模式在此模式下可以修改一行的内容并增添新行。在命令模式下键入a 、i 或 c键可进入文本输入模式,按Escape键可返回命令模式。 .命令项模式在此模式下,可以通过子命令输入更多的参数。如:w子命令要求输入一文 件名,"/"子命令要求输入一个查找项。用户使用Escape键返回命令模式。 下面是自命令模式下执行的,在同一行上移动的自命令: h 将光标左移一格。 l 将光标右移一格。 j 将光标下移一格。 k 将光标上移一格。 w 将光标移到下一个小字的前面。 W 将光标移到下一个大字的前面。 b 将光标移到前一个小字的前面。 B 将光标移到前一个大字的前面。 e 将光标移到下一个小字的后面。 E 将光标移到前一个大字的后面。 fc 把光标移到同一行的下一个c字符处。 Fc 把光标移到同一行的前一个c字符处。 tc 把光标移到同一行的下一个字符c的前一格。

操作系统实验报告 LINUX基本命令使用和VI编辑器

实验报告模板 实验名称Linux基本命令使用和vi编辑器学院 姓名学号班级 实验地点实验日期评分 指导老师同组其他成员 一、实验目的 掌握Linux一般命令格式。 2.掌握有关文件和目录操作的常用命令。 3.掌握进程操作的常用命令。 4.熟练使用man命令。 5.学习使用vi编辑器建立、编辑、显示及加工处理文本文件。 二、实验环境 VMware,RedHat Linux 三、实验内容 正确地登录和退出系统(logout或exit)。 2.熟悉date,cal,who,clear命令。 3.在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。 4.对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。 5.利用man显示date等命令的手册页。 6.显示系统中的进程信息。 7.进入和退出vi。 8.利用文本插入方式建立一个文件。 9.在新建的文本文件上移动光标位置。 10.对该文件执行删除、复原、修改、替换等操作。 四、实验结果(含程序、数据记录及分析和实验总结等) 1.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。

Clear之后 2.浏览文件系统: (1)运行pwd命令,确定当前工作目录。 (2)运行ls–l命令,理解各字段含义。 第一部分“-rw-r--r--”表示该文件的权限,即所有者权限为读和写,组用户和其他用户的权限为只读。第二部分“l”表示该文件是符号链接,第三第四部分所 有者和所有者所在的用户组,第五部分的数字表示文件的大小(以字节为单位),剩下的依次是文件创建月日时间和文件名。

vi操作命令大全完整版

v i操作命令大全 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

一vi的操作模式 vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。在输入模式下,用户可输入文本资料。在指令模式下,可进行删除、修改等各种编辑动作。 在输入模式下,按Esc键切换到指令模式下。 在指令模式下,按输入指令(i、a、o等)进入输入模式。 二进入vi $ vi filename 直接键入“vi + 所要编辑的文件名”,即可对指定的文件进行编辑。 如果指定的文件为新文件,则提示:“New file”,否则显示该文件的当前内容。 $ view filename 以只读方式打开文件filename 三指令模式 3.1进入输入模式 a 在当前游标之后输入 A 在当前行之末输入 i 在当前游标之前输入

I 在当前行之首输入 o 在当前行之下新增一行,并在新增行输入 O 在当前行之上新增一行,并在新增行输入 输入结束后,按Esc键退出输入模式。 3.2游标移动 h 向左移动一个字元 l 向右移动一个字元 j 向下移动一个字元 k 向上移动一个字元 b 左移一个单词,至词首 w 右移一个单词,至词尾 0 移到当前行行首 $ 移到当前行行尾 + 移至下一行的行首 - 移至上一行的行首 H 移至视窗的第一行 M 移至视窗的中间一行 L 移至视窗的最后一行 G 移至该文件的最后一行 nG 移至该文档的第n行 n+ 下移n行 n- 上移n 行 3.3视窗移动 * + f 视窗下卷一页 * + b 视窗上卷一页 + d 视窗下卷半页 + u 视窗上卷半页 * + e 视窗下卷一行 * + y 视窗上卷一行 3.4删除操作 x 删除游标所在字元 X 删除游标前一字元 dw 从游标当前位置开始向后删除一个单词 db 从游标当前位置开始向前删除一个单词 d0 从行首删除至当前游标位置 d$ 从游标当前位置删除至行尾 dd 删除游标所在行 D 同d$

Linux操作系统Vi文本编辑器试验报告

Vi 文本编辑器 1.实验目的 文本编辑器的原理和操作。1.了解vi文本编辑器的相关命令。了解vi 2.2.实验原理和实验设备 1.操作系统inuxL. 3.实验步骤 1.什么是vi文本编辑器? Vi是一个全屏幕文本编辑器 优点: 具有文本编辑所需的所有功能.1 适用于各种版本的Unix/Linux2.适用于各种类型的终端.3使用灵活快捷.4缺点: 界面不太好看1.按键命令太多2.2. 如何调用vi 在系统提示符后输入vi和想要编辑(或建立)的文件名(如:vi [path]filename),便可进入vi。如果只输入vi,而不带有文件名,也可以进入vi。然后先创建文件的内容,时,只需在退出命令后输入文件名即可。vi在退出进入vi之后,首先进入的就是编辑模式,进入编辑模式后vi等待编辑命令输入而不是文本输入,也就是说,这时输入的字母都将作为编辑命令来解释。.进入编辑模式后光标停在屏幕的第一行首位上(用_表示),其余各行的行首均有一个“~”符号,表示该行为空行。最后一行是状态行,显示出当前正在编辑的文件名及其状态。如果是[New File],则表示该文件是一个新建的文件。如果输入vi带有文件名后,文件已在系统中存在的话,则在屏幕上显示出该文件的内容,并且光标停在第一行的首位,在状态行显示出该文件的文件名,行数和字符数。在编辑模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入插入模式。在插入模式下,用户输入的任何字符都被vi当作文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式,按ESC键即可。在编辑模式下,用户按“:”键即可进入命令模式,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为命令模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的。末行命令执行完成后,vi自动回到编辑模式。如图3.1所示。若在命令模式下输入命令过程中改变了主意,可用退格键(backspace)将输入的命令全回到编辑模式。部删除之后,再按一下退格键,即可使vi3. vi 的三种基本工作模式: 。)编辑模式、插入模式和命令模式(末行模式 三种模式之间的转换示意图图3.1 vi文件的保存和退出;4. 键切换ESC要通过如果我们处于其它命令模式时,的默认模式,vim或vi模式是Command 过来。会在屏幕的最下方等待我们输入命令:号时,vi当我们按ESC键后,接着再输入:保存;:w ;filename另存为:w filename

vi命令的使用

vi编辑器使用方法 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode) 1) 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode 下,或者到 last line mode。 2) 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 一般把vi简化成两个模式,即将底行模式(last line mode)也算入命令行模式command mode)。 2、vi的基本操作 2.1、三种模式的转换 a) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: $ vi myfile 进入vi之后,是处于[命令行模式(command mode)],要切换到[插入模式(Insert mode)]才能够输入文字。 b) 切换至插入模式(Insert mode)编辑文件 在[命令行模式(command mode)]下键入对应字母就可以进入[插入模式(Insert mode)],此时可以开始输入文字了。 c) Insert 的切换 处于[插入模式(Insert mode)],就只能一直输入文字。若发现输错了字!要按[ESC]键转到[命令行模式(command mode)]再删除文字。 d) 退出vi及保存文件 在[命令行模式(command mode)]下,按一下[:]冒号键进入[Last line mode],例如: : w filename (输入 [w filename]将文章以指定的文件名filename保存): wq (输入[wq],存盘并退出vi) : q! (输入q!,不存盘强制退出vi) 2.2、命令行模式(command mode)功能键 1). 插入模式 按切换进入插入模式,按“i”进入插入模式后是从光标当前位置开始输入文件;

vi下的一些常用命令

vi 是visual edit 的缩写 文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充! 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾

H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。插入文本类命令 i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本 搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令

Linux系统如何使用vi命令

Linux系统如何使用vi命令 linux系统使用vi命令方法 一、一般模式:删除、复制与粘贴类命令 x,x x为向后删除一个字符,x为先前删除一个字符 nx(n代表数字) 向后删除n个字符 dd 删除当前行 d 删除当前行所有字符,试成为空行 ndd(n代表数字) 删除光标所在行的向下n列 d1g 删除光标所在行到第一行的所有数据 dg 删除光标所在行到最后一行的所有数据 yy 复制光标所在行 y1g 复制光标所在行到第一行的所有数据 yg 复制光标所在行到最后一行的所有数据 ynj(n代表数字) 复制光标所在行向下n+1行 dnj(n代表数字) 删除光标所在行向下n+1行 p,p p为复制的数据粘贴在光标的下一行,p为复制的数据粘贴在光标的上一行 j 将光标所在行与下一行的数据结合成一行 u 恢复前一个动作(undo) 二、编辑模式命令 i,i i为在当前光标所在处插入输入的文字,i为在光标所

在行第一个非空字符插入输入的文字 a,a a为在当前光标所在处下一个字符插入输入的文字,a 为在光标所在行最后一个字符的下一个字符处插入输入的文字o,o o为在光标所在行的下一行行首开始插入字符,o为在光标所在行的上一行行首开始插入字符 r,r r为替换光标所在那一个字符,r为一直替换光标所指的文字,直到退出 esc 退出,回到一般模式 三、命令模式 h 光标向左移一个字符 j 光标向下移一个字符 k 光标向上移一个字符 l 光标向右移一个字符 ctrl+f 屏幕向下翻一页 ctrl+b 屏幕向上翻一页 ctrl+d 屏幕向下翻半页 ctrl+u 屏幕向上翻半页 + 光标移动到下一行的第一个非空字符 - 光标移动到当前行的第一个非空字符 n空格(n代表数字) 光标向当前行向右移动n个字符 0(数字0) 光标移动到当前行的第一个字符(可以为空字符,注意与-区分) $ 光标移动到当前行的最后一个字符(可以为空字符,注意与-区分)

vi命令手册

一、Unix编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件。Unix及其相似的ix 操作系统系列中,为方便各种用户在各个不同的环境中使用,提供了一系列的ex编辑器,包括ex,edit,ed和 vi.其中ex,edit,ed都是行编辑器,现在已很少有人使用,Unix提供他们的原因是考虑到满足各种用户特别 是某些终端用户的需要。 值得庆幸的是,Unix提供了全屏幕的Vi编辑器,这使我们的工作轻松不少。不少DOS用户抱怨Vi编辑器不象 DOS下的编辑器如edit那么好用,这是因为Vi考虑到各种用户的需要,没有使用某些通用的编辑键(在各个 不同的终端机上他们的定义是不同的,在某些终端机上甚至没有这些键)。而是采用状态切换的方法,但这 只是习惯的问题,一旦你熟练的使用上了vi你就会觉得它其实也很好用。 虽然Vi采用了状态切换的方法,但电脑的硬件及操作系统多种多样,某些电脑的键盘上没有特定的几个功 能键!那麽不就有某些功能不能用了?这个问题在Unix系统上也一样,几乎各大电脑厂商都有自己的 Unix系统,而vi的操作方法也会随之有点出入。这里我们采用PC的键盘来说明vi的操作,但在具体 的环境中还要参考相应的资料,这一点是值得注意的。 二、Vi入门 (一)、进入vi 在系统提示字符(如¥、#)下敲入vi<档案名称>,vi可以自动帮你载入所要编辑的文件或是开启一个新 文件(如果该文件不存在或缺少文件名)。进入vi后萤幕左方会出现波浪符号,凡是列首有该符号就代

表此列目前是空的。 (二)、两种模式 如上所述,vi存在两种模式:指令模式和输入模式。在指令模式下输入的按键将做为指令来处理:如输入 a,vi即认为是在当前位置插入字符。而在输入模式下,vi则把输入的按键当作插入的字符来处理。指令 模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在 输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次[ESC],系统如发出哔哔声就表 示已处于指令模式下了。 付:有指令模式进入输入模式的指令: 新增(append) a:从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 A:从光标所在列最後面的地方开始新增资料。 插入(insert) i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。 I:从光标所在列的第一个非空白字元前面开始插入资料。 开始(open) o:在光标所在列下新增一列并进入输入模式。 O:在光标所在列上方新增一列并进入输入模式。 (三)、退出vi 在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出,

linux下vi命令大全

linux下vi命令大全 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 插入文本类命令 i :在光标前

I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本 搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g:将文件中所有p1均用p2替换 选项设置 all:列出所有选项设置情况 term:设置终端类型 ignorance:在搜索中忽略大小写 list:显示制表位(Ctrl+I)和行尾标志($) number:显示行号 report:显示由面向行的命令修改过的数目 terse:显示简短的警告信息 warn:在转到别的文件时若没保存当前文件则显示NO write信息nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始mesg:允许vi显示其他用户用write写到自己终端上的信息 最后行方式命令 :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下

linux下vi命令修改文件及保存等使用方法整理

vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人, 或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、 游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。 vi的基本概念 基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode), 各模式的功能区分如下: 1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。 2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。 3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。 不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode。 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾

实验一 Linux下常用命令和Vi的使用

实验一Linux下常用命令和Vi的使用 实验学时:2学时 实验类型:验证型 一、实验目的 了解UNIX/LINUX运行环境,熟悉UNIX/LINUX的常用基本命令,熟悉和掌握 UNIX/LINUX下c语言程序的编写、编译、调试和运行方法。 二、实验内容 ●熟悉LINUX的常用基本命令如ls、who、pwd、ps等。 ●练习LINUX的文本行编辑器vi的使用方法 ●联机帮助命令-man的使用。 三、实验要求 按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告。 四、实验步骤: 1.用pwd显示当前工作目录名:pwd;如果当前目录不是root,需改变到root目录: cd/root。 2.用mkdir建立四个目录:mkdir /root/test1;mkdir /root/test2;mkdir /root/test2/abcd;mkdir /mypro。 3.用cd命令从root开始依次进入test1、test2、abcd、mypro目录,并用 pwd验 证。 cd test1; pwd cd ../test2;pwd cd abcd;pwd cd ../../mypro;pwd 4.用cd 命令从mypro目录返回到根目录,并用pwd命令验证。 cd / pwd 5.用rmdir命令删除子目录 abcd。 Rmdir /root/test2/abcd 6.分别用ls ls –a 和ls-l查看root目录的内容。 ls ls –a ls -l 7.man 命令: (按PageUp键向上翻页PageDown向下翻页,按q退出) man ls 查看ls的帮助信息。 man cp 查看cp的帮助信息。 man mkdir 查看mkdir的帮助信息。 man rm>rm_help 用重定向生成帮助文档

Vi常用命令

进入vi的命令 (1) 移动光标类命令 (1) 屏幕翻滚类命令 (2) 编辑插入文本类命令 (3) 删除命令 (5) 搜索及替换命令 (6) 选项设置 (8) 组合命令 (10) 最后行方式命令 (14) 寄存器操作 (15) 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行

n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 ^ 光标移到行首 f 光标移到当前光标位置后面的第一个指定的字符下 F 光标移到当前光标位置前面的第一个指定的字符下 t 光标移到当前光标位置后面的第一个指定的字符前 T 光标移到当前光标位置前面的第一个指定的字符前 % 光标移动到与当前括号匹配的括号处 :n 光标移动到指定行 按数字:0:移到文章的开头。 按G:移动到文章的最后。 按w:光标跳到下个字的开头 按e:光标跳到下个字的字尾 按b:光标回到上个字的开头 按:#l:光标移到该行的第#个位置,如:5l,56l。 跳至指定的行 Ctrl + g列出光标所在行的行号。 #G:例如,15G,表示移动光标至文章的第15行行首 14.光标控制 k:上移nk 上移n行 j:下移nj 下移n行 将光标移到第n行,按下mk 将光标移到第m行,按下"ay'k 即将第n到m的行存到a寄存器,以此类推,b,c........寄存器等 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏

VI命令集精编

V I命令集精编 Document number:WTT-LKK-GBB-08921-EIGG-22986

( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 插入文本类命令 i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符 S:删除指定数目的行,并以所输入文本代替之

ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u:删除输入方式下所输入的文本 搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代:g/p1/s//p2/g:将文件中所有p1均用p2替换 选项设置 all:列出所有选项设置情况 term:设置终端类型 ignorance:在搜索中忽略大小写 list:显示制表位(Ctrl+I)和行尾标志($) number:显示行号 report:显示由面向行的命令修改过的数目 terse:显示简短的警告信息 warn:在转到别的文件时若没保存当前文件则显示NO write 信息 nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符 nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开

CentOS之VI编辑器的常用命令

CentOS之VI编辑器的常用命令 一.vi的模式 命令模式:vi启动默认进入的模式,可进入输入模"i",或末行模式(:),除了可以完成命令的功能外,也是后两种模式的转换点 输入模式:即文本辑辑状态,最后一行显示"-- INSERT --"提示,按ESC返回到命令模式 末行模式:可完成一些复杂操作,以":"开始,执行完一个末行命令后自动返回命令模式 二.基本使用 1.vi 编辑器的启动与退出: (1).使用命令"vi"直接进入编辑环境 (2).在命令模式下输入":q!",可以强行退出编辑环境,对文件修改不进行保存 (3).以文件名作为"vi"命令的参数时,若存在此文件,则vi可对内容进行编辑,若不存在,打开以参数名命名的空文件 2.文件操作: (1).打开新文件:在末行模式下":e filename"关闭当前文件并打开新文件,":e! filename 强制关闭当前文件并打开新文件" (2).读取文件内容到当前文件:":r filename",读取的文件内容粘贴到当前文件光标所在行的下面 (3)保存文件:命令为":w [filename]",如果文件已经命名,可直接使用":w"命令的参数,如果没有命名,第一次保存时需指定文件名作为参数 (4).另存为文件:命令为":w filename",只保存到新文件,而不更新原来文件的内容 (5).退出vi编辑器:退出格式为":q",保存并退出为":wq",强行退出为":q!" 3.光标的移动操作(命令模式下) (1).光标方向移动:"h"左、"l"右、"k"上、"j"下

(2).翻页移动:"ctrl+f"前一页、"ctrl+b"后一页、"ctrl+u"前半页、"ctrl+d"后半页 (3).行内快速跳转:"^"本行首字符、"$"本行尾字符、"w"后一单词首字母、"b"前一单词首字母、"e"后一单词尾字母;可添加数字组合使用,例如:"3w"后三个单词首字母、"4b"前4个单词首字母、"5e"后5个单词尾字母 (4).文件内行间跳转:显示行号":set nu",取消显示行号":set nonu","1G"跳转到首行,"G"跳转到末尾行,"#G"跳转到第#行 4.编辑操作 (1).进行输入模式:"i"当前光标处,"a"当前光标后,"A"当前行末,"o"当前行下插入新行,"O"当前行上插入新行,"cw"删除当前光标到所在尾部字符,"c$"删除当前光标到行尾的字符,"c^"删除当前光标(不包括)之前到行首的字符;以上记忆如有困难,可只记"i"从命令模式进入输入模式,完成编辑后"Esc"退回到命令模式 (2).输入模式的操作:上下左右方向进行光标移动,"Home/End"定位光标到行首行尾,"Page Up /Down"上下翻页,"Backspace"左侧字符的删除,"Delete"删除光标位置的字符 (3).删除操作:在命令模式下,可用以下命令完成删除操作,"x"光标处单个字符,"dd"光标所在行,"dw"当前字符到单词尾(含空格),"de"当前字符到单词尾(不含空格), "d$"当前字符到行尾,"d^"当前字符到行首,"J"合并当前行与下一行的内容,可添加数字配合使用,例如"3x"当前光标向右3个字符,"2dd"从当前行开始向下两行文本, "3dw"当前光标向右3个单词,"2de"当前光标向右两个单词(保留一个空格),"5J"合并5行文本 (4).撤销操作:在命令模式下,"u"取消最近一次操作,可重复使用,"U"取消对当前行进行的所有操作,"Ctrl+R"对"u"产生的撤消进行恢复 (5).复制操作:"yy"整行,"yw"光标到单词尾,"y$"光标到行尾,"y^"光标到行首;与数字组合使用,"5yy"当前及后续共5行,"3yw"当前光标开始的3个单词; 末行命令":m,ny"m行到n行之间的文本,例如:":100,200y"100行到200的内容 (6).粘贴操作:在命令模式下,使用"p"将缓冲区中的内容粘贴到当前文档

Vi基本操作

Vi基本操作 首先看一下vi的三种模式的转换图: 需要先按Esc进入普通模式,这按“:”即进入了命令模式。再命令模式下想进入编辑模式, 则需要先按Esc键,然后再按“ i,a,o,O,s,S ”等进入编辑模式。 三种模式的简单说明: 1普通模式: 使用Vi打开一个文件后,默认是普通模式,即不能进行输入,仅可以执行一些操作命令; 2、编辑模式: 在此模式下可以进行常规的输入操作,可以在左下角看到插入的标记“--插入--”或“-- INSERT -- ”; 3、命令模式:在命令模式下,主要是执行保存、退出、搜索、替换等操作,则左下角可以看到“:",并有光标闪烁等待输入命令。

普通模式: 普通模式转为编辑模式 0:在光标所在行的上一行新增一行 o:在光标所在行的下一行新增一行 a:从当前光标所在的位置的下一个字符开始输入 i :在光标所在的位置插入新输入的字符 s:删除光标后的一个字符,然后进入插入模式; S:删除光标所在的行,然后进入插入模式; 移动 h:将光标向左移动一格 I :将光标向右移动一格j :将光标向下移动一格k:将光标向上移动一格 $:将光标移到当前行的最后面 数字0:将光标移到当前行的最前面 G :将光标移到最后一行的开头gg:将光标移到首行开头w或W将光标移到下一个字若输入“ w”,则标点符号如“ .”,“,”,“/ ”等字符都被当成一个字e或E:将光标移到本单字的最后一个字符;如果光标所在位置为本单子的最后一个字符,则跳到下一个单字的最后一个字符。 b:将光标移到本单词的第一个字符;如果光标所在位置为本单词的第一个字符,则跳到上一个单字的第一个字符。 翻页 ctrl+b :将页面向前卷动一页 ctrl+f :将页面向后卷动一页 ctrl+u :将光标向前移动半页 ctrl+d :将光标向右移动半页 ctrl+e :屏幕向下卷动一行,也可以说文章和光标向上卷动一行 ctrl+y :屏幕向上卷动一行,也可以说文章和光标向下卷动一行 复制文字 yy :可将光标目前所在位置的正行复制,复制时不会将文字反白显示 nyy :其中n为数字键,表示要复制的行数,若按3yy,则连同光标所在的位置的一行,与下 面2行一起复制 yw:可复制光标所在位置到整个单词结束的字符 nyw:n表示要复制的单词数目,若按3yw,则会将目前光标所在位置到单词结束,以及后面 的2个字一起复制 P:可将复制的文字粘贴到当前光标所在的位置。若复制的是整行文字,则会将整行内容粘贴在光标所在位置的下一行 shift+P 在光标之前粘帖