导航:首页 > 程序命令 > vi编辑文件命令

vi编辑文件命令

发布时间:2022-12-27 14:29:49

㈠ 如何用vi编辑和保存文件

用vi编辑和保存文件步骤如下:

1丶vi文件名,然后按Enter键打开相应的文件。 如果没有相应的文件,vi命令将自动创建一个新文件。

linux的vi怎么编辑文件内容打错字怎么回删怎么保存退出

1、点击vi文件名,然后按Enter键打开相应的文件。如果没有相应的文件,vi命令将自动创建一个新文件。

㈢ Linux下vim编辑器命令大全

vim可以分为三种状态,分别是 命令行模式(command mode) 、 输入模式(Insert mode) 和 底行模式(last line mode) ,这 3 种工作模式可随意切换,如下图所示。

使用vim编辑文件时,默认处于命令行模式。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

下图所示是vim处于命令行模式的状态示意图。

在输入模式下,vim可以对文件执行写操作,类似于在Windows系统的文档中输入内容。

使vim进行输入模式的方式是在命令模式状态下输入 i 、 I 、 a 、 A 、 o 、 O 等插入命令(各指令的具体功能下表所示),当编辑文件完成后按 esc 键即可返回命令模式。

下图所示为vim处于输入模式模式下的示意图。

底行模式用于对文件中的指定内容执行保存、查找或替换等操作。

使vim切换到底行模式的方法是在 命令行模式 状态下按 : 键(注意是英文符号),此时vim窗口的左下方出现一个 : 符号,这是就可以输入相关指令进行操作了。

指令执行后vim会自动返回命令行模式。如想直接返回命令行模式,按 esc 即可。

下图所示为vim进入底行模式后的状态。

对于新手来说,经常不知道自己处于什么模式。不论是自己忘了,还是不小心切换了模式,都可以按一次 esc 键返回命令行模式。如果你多按几次 esc 键后听到"嘀————"的声音,则代表你已经处于命令行模式了。

打开文件

打开文件时光标处于文件尾部

打开文件时,光标定位到第几行

字符移动

这些移动键都可以加上数字(5h:向左移动5个字符格)

单词移动

行内跳转

行间移动

在底行模式下,直接给出行号,实现跳转

用法:起始地址,结束地址 s @要替换内容@替换后内容@gi(@分隔符)

例 :1,$s/a/A/g 把文件中全部的a换替换成A,全局替换

显示取消行号

设定自动缩进(写脚本时)

查找到的文本高亮显示

语法高亮

/etc/vimrc :全局配置文件,永久有效
~/.vimrc :个人配置文件,每个用户的家目录中,若不存在,手动创建

对于第一次用vim的童鞋,有几点需要提醒一下:

㈣ vi的用法

vi 命令 是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。

vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用"A"、"a"、"O"、"o"、"I"、"i"键。

vi编辑器的三种工作方式之间的转换如图所示。

vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下:

vi(选项)(参数)

知识扩展

vi编辑器有三种工作方式:命令方式、输入方式和ex转义方式。通过相应的命令或操作,在这三种工作方式之间可以进行转换。

命令方式

在Shell提示符后输入命令vi,进入vi编辑器,并处于vi的命令方式。此时,从键盘上输入的任何字符都被作为编辑命令来解释,例如,a(append)表示附加命令,i(insert)表示插入命令,x表示删除字符命令等。如果输入的字符不是vi的合法命令,则机器发出“报警声”,光标不移动。另外,在命令方式下输入的字符(即vi命令)并不在屏幕上显示出来,例如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方式却发生变化:由命令方式变为输入方式。

输入方式

通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或取代命令(r)可以从命令方式进入输入方式。在输入方式下,从键盘上输入的所有字符都被插入到正在编辑的缓冲区中,被当做该文件的正文。进入输入方式后,输入的可见字符都在屏幕上显示出来,而编辑命令不再起作用,仅作为普通字母出现。例如,在命令方式下输入字母i,进到输入方式,然后再输入i,就在屏幕上相应光标处添加一个字母i。

由输入方式回到命令方式的办法是按下Esc键。如果已在命令方式下,那么按下Esc键就会发出“嘟嘟”声。为了确保用户想执行的vi命令是在命令方式下输入的,不妨多按几下Esc键,听到嘟声后再输入命令。

ex 转义方式

vi和ex编辑器的功能是相同的,二者的主要区别是用户界面。在vi中,命令通常是单个字母,如a,x,r等。而在ex中,命令是以Enter;键结束的命令行。vi有一个专门的“转义”命令,可访问很多面向行的ex命令。为使用ex转义方式,可输入一个冒号(:)。作为ex命令提示符,冒号出现在状态行(通常在屏幕最下一行)。按下中断键(通常是Del键),可终止正在执行的命令。多数文件管理命令都是在ex转义方式下执行的(例如,读取文件,把编辑缓冲区的内容写到文件中等)。转义命令执行后,自动回到命令方式。例如:

则从文件第一行至文件末尾($)将大写I全部替换成小写i

㈤ VI 编辑器基本操作及快捷键

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于 命令行模式(command mode) ,您要切换到 插入模式(Insert mode) 才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到 插入模式(Insert mode) 再说吧!

在 命令行模式(command mode) 下按一下字母 i 就可以进入 插入模式(Insert mode) ,这时候你就可以开始输入文字了。

您目前处于 插入模式(Insert mode) ,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下 ESC 键转到 命令行模式(command mode) 再删除文字。

在 命令行模式(command mode) 下,按一下 : 冒号键进入 Last line mode ,例如:
: w filename (输入 w filename 将文章以指定的文件名filename保存)
: wq (输入 wq ,存盘并退出vi)
: q! (输入 q! , 不存盘强制退出vi)

按 i 切换进入插入模式 insert mode ,按"i"进入插入模式后是从光标当前位置开始输入文件;
按 a 进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按 o 进入插入模式后,是插入新的一行,从行首开始输入文字。

按 ESC 键。

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母 h 、 j 、 k 、 l ,分别控制光标左、下、上、右移一格。
按 ctrl + b :屏幕往"后"移动一页。
按 ctrl + f :屏幕往"前"移动一页。
按 ctrl + u :屏幕往"后"移动半页。
按 ctrl + d :屏幕往"前"移动半页。
按数字 0 :移到文章的开头。
按 G :移动到文章的最后。
按 $ :移动到光标所在行的"行尾"。
按 ^ :移动到光标所在行的"行首"
按 w :光标跳到下个字的开头
按 e :光标跳到下个字的字尾
按 b :光标回到上个字的开头
按 #l :光标移到该行的第#个位置,如:5l,56l。

x :每按一次,删除光标所在位置的"后面"一个字符。
#x :例如, 6x 表示删除光标所在位置的"后面"6个字符。
X :大写的X,每按一次,删除光标所在位置的"前面"一个字符。
#X :例如, 20X 表示删除光标所在位置的"前面"20个字符。
dd :删除光标所在行。
#dd :从光标所在行开始删除#行

yw :将光标所在之处到字尾的字符复制到缓冲区中。
#yw :复制#个字到缓冲区
yy :复制光标所在行到缓冲区。
#yy :例如, 6yy 表示拷贝从光标所在的该行"往下数"6行文字。
p :将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

r :替换光标所在处的字符。
R :替换光标所到之处的字符,直到按下 ESC 键为止。

u :如果您误执行一个命令,可以马上按下 u ,回到上一个操作。按多次"u"可以执行多次回复。

cw :更改光标所在处的字到字尾处
c#w :例如, c3w 表示更改3个字

ctrl + g 列出光标所在行的行号。
#G :例如, 15G ,表示移动光标至文章的第15行行首。

在使用 last line mode 之前,请记住先按 ESC 键确定您已经处于 command mode 下后,再按 : 冒号即可进入 last line mode 。

set nu :输入 set nu 后,会在文件中的每一行前面列出行号。

# : # 号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

/关键字 :先按 / 键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 n 会往后寻找到您要的关键字为止。

?关键字 :先按 ? 键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 n 会往前寻找到您要的关键字为止。

w :在冒号输入字母 w 就可以将文件保存起来。

q :按 q 就是退出,如果无法离开vi,可以在 q 后跟一个 ! 强制离开vi。

qw :一般建议离开时,搭配 w 一起使用,这样在退出的时候还可以保存文件。

h
左移光标一个字符

l
右移光标一个字符

k
光标上移一行

j
光标下移一行

^
光标移动至行首

0
数字"0",光标移至文章的开头

G
光标移至文章的最后

$
光标移动至行尾

Ctrl+f
向前翻屏

Ctrl+b
向后翻屏

Ctrl+d
向前翻半屏

Ctrl+u
向后翻半屏

i
在光标位置前插入字符

a
在光标所在位置的后一个字符开始增加

o
插入新的一行,从行首开始输入

ESC
从输入状态退至命令状态

x
删除光标后面的字符

#x
删除光标后的#个字符

X
(大写X),删除光标前面的字符

#X
删除光标前面的#个字符

dd
删除光标所在的行

#dd
删除从光标所在行数的#行

yw
复制光标所在位置的一个字

#yw
复制光标所在位置的#个字

yy
复制光标所在位置的一行

#yy
复制从光标所在行数的#行

p
粘贴

u
取消操作

cw
更改光标所在位置的一个字

#cw
更改光标所在位置的#个字

w filename
储存正在编辑的文件为filename

wq filename
储存正在编辑的文件为filename,并退出vi

q!
放弃所有修改,退出vi

set nu
显示行号

/ 或 ?
查找,在/后输入要查找的内容

n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。

对于第一次用vi,有几点注意要提醒一下:
1、用vi打开文件后,是处于 命令行模式(command mode) ,您要切换到 插入模式(Insert mode) 才能够输入文字。切换方法:在 命令行模式(command mode) 下按一下字母 i 就可以进入 插入模式(Insert mode) ,这时候你就可以开始输入文字了。
2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按 ESC 键。
3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的)

vi使用手册
VI是unix上最常用的文本编辑工具,作为unix软件测试人员,有必要熟练掌握它。

进入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 :光标右移一个字j至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n :光标移至当前行尾

屏幕翻滚类命令
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的输出结果放到当前行 。

㈥ vi 命令大全

vi filename   打开或新建文档,并将光标置于第一行行首
vi +n filename   打开文件,并将光标置于第n行首
vi + filename   打开文件,并将光标置于最后一行首
vi +/pattern filename   打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename   在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename   打开多个文件,依次进行编辑

w   保存当前文件
w /tmp1   另存为/tmp1
20,59w /tmp1   仅将20-59行之间的内存另存为/tmp1
x 或 wq   保存退出
q   退出vi
q!   退出不保存 >
!command   执行shell命令command
n1,n2 w !command   将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
r !command   将命令command的输出结果放到当前行
w !sudo tee %   保存没权限时,可获取权限再保存

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   删除输入方式下所输入的文本
n1,n2 d   将n1行到n2行之间的内容删除
%d   删除全部内容
1,$d   删除全部内容

yy   复制当前行
nyy   复制当前行开始的n行
  先按 v 然后方向键选择区域,按 y 复制选中行
dd   剪切当前行
p (小)   在当前光标处下面粘贴内容
P (大)   在当前光标处上面粘贴内容
n1,n2 co n3   将n1行到n2行之间的内容拷贝到第n3行下
n1,n2 m n3   将n1行到n2行之间的内容移至到第n3行下

/abc   从光标开始处向文件尾搜索abc
?abc   从光标开始处向文件首搜索abc
//abc   从光标开始处向文件尾搜索/abc,其中/是转义
n   在同一方向重复上一次搜索命令
N   在反方向上重复上一次搜索命令

s/vivian/sky/   替换当前行第一个 vivian 为 sky
s/vivian/sky/g   替换当前行所有 vivian 为 sky
n,$s/vivian/sky/   替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
n,$s/vivian/sky/g   替换第 n 行开始到最后一行中每一行所有 vivian 为sky
%s/vivian/sky/g   (等同于 g/vivian/s//sky/) 替换每一行的每一个 vivian 为 sky
s#vivian/#sky#   替换当前行第一个 vivian/ 为 sky/(可以使用 # 或 + 作为分隔符,此时中间出现的 / 不会作为分隔符)
s/p1/p2/g   将当前行中所有p1均用p2替代
n1,n2s/p1/p2/g   将第n1至n2行中所有p1均用p2替代
g/p1/s//p2/g   将文件中所有p1均用p2替换

"?nyy   将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw   将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl   将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p   取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd   将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中

set number   显示行号
set number!   不显示行号,其它选项同理加!号
set all   列出所有选项设置情况
set term   设置终端类型
set ignorance   在搜索中忽略大小写
set list   显示制表位(Ctrl+I)和行尾标志($)
set report   显示由面向行的命令修改过的数目
set terse   显示简短的警告信息
set warn   在转到别的文件时若没保存当前文件则显示NO write信息
set nomagic   允许在搜索模式中,使用前面不带“”的特殊字符
set nowrapscan   禁止vi在搜索到达文件两端时,又从另一端开始
set mesg   允许vi显示其他用户用write写到自己终端上的信息

参考文献:
https://www.cnblogs.com/mondol/p/vi-examples.html

㈦ Vi编辑器的介绍

Vi,是一款由加州大学伯克利分校、Bill Joy研究开发的文本编辑器。

文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice,文本模式下的编辑器有VI、vim。vi和vim是我们在Linux中最常用的编辑器。vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理字符界面中,永远不是图形界面的编辑器能比的。

注意:vi是Unix/Linux操作系统中最经典的文本编辑器,只能在编辑字符,不能对字体、段落进行排版,它既可以新建文件,也可以编辑文件;它没有菜单,只有命令,且命令繁多。

虽然vi的操作方式与其他常用的文本编辑器很不相同,但是由于其运行于字符界面,并可用于所有Unix/Linux环境,仍被经常使用。

vi的三种命令模式

command(命令)模式,用于输入命令

Insert(插入)模式,用于插入文本

Visual(可视)模式,用于视化的高亮并选定正文

①命令模式

命令模式是启动vi后进入的工作模式,并可转换为文本编辑模式和最后行模式。在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,而不会在屏幕上显示。如果输入的字符是合法的vi命令,则vi就会完成相应的动作,否则vi会响铃警告。

②文本编辑模式

文本编辑模式用于字符编辑。在命令模式下输入i、a等命令后进入文本编辑模式,此时输入的任何字符都被vi当作文件内容显示在屏幕上。按Esc键可从文本编辑模式返回到命令模式。

③最后行模式

在命令模式下,按“:”进入最后行模式,此时vi会在屏幕的底部显示“:”符号年作为最后行模式的提示符,等待用户输入相关命令。命令执行完毕后,vi自动回到命令模式。

阅读全文

与vi编辑文件命令相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163