Linux vi指令:如何在insert模式下编辑文件? (linux vi指令insert)

Linux作为一种优秀的操作系统,有自己的文本编辑器——vi,是Linux下最基本也最常用的一个编辑器。vi指令的使用方法相对较为繁琐,初学者有时会觉得较为困难。其中,在insert模式下进行编辑是其中一项重要的功能,在下文中将详细介绍如何在insert模式下编辑文件。

一、vi编辑文件操作流程

在进入编辑文件前,我们需要了解vi指令的基本操作流程。

之一步:启动终端,输入vi加上所要编辑的文件名。

“`

$ vi filename

“`

第二步:进入vi界面后,按下“i”键(Insert)。这时,我们就进入了insert模式。

第三步:在insert模式下编辑文件。编辑完成后,需要保存并退出编辑器。按下“ESC”键退出insert模式。然后,输入“:wq”并按下“ENTER”键就可以保存并退出了。若想放弃操作,则输入“:q!”即可强制退出,但不保存修改。

二、如何在insert模式下编辑文件

在vi编辑器中进入insert模式是十分简单的,只需要按下“i”键即可。在这个模式下,我们可以像在其他文本编辑器中一样编辑文本,包括插入一个新的字符、删除一个字符、复制、粘贴等等操作。在insert模式下,我们可以用下列按键来编辑文件:

1. 输入字符

在insert模式下,我们可以直接输入字符,当我们输入一个字符后,光标会自动向后移动一个位置,以便于我们继续输入下一个字符。如果需要进行大量的输入,这种方式会比较繁琐。

2. 复制和粘贴

如果我们需要将一个单词复制到另一处,或者需要复制一段文字到其它文档中,可以用vi编辑器中的复制和粘贴功能。

– 复制:将光标移动到复制的起始位置,然后按下“v”键进入visual模式。接着,将光标移动到结束位置,并再次按下“v”键确认选定此处区域。按下“y”键即可完成复制。

– 粘贴:将光标移动到要粘贴的位置,按下“p”键即可完成粘贴。如果需要反复使用复制和粘贴功能,可以在插入模式下按下“Ctrl+r”+”0”实现。

3. 删除

在insert模式下,用backspace键及“x”键可以删除一个字符,而用“dd”命令可以删除整行文本。

三、结束

在insert模式下编辑文件是vi编辑器的一个基本操作,熟练掌握此功能对于Linux系统的使用者来说是十分必要的。以上就是本文对此主题的介绍,对Linux的初学者希望能够帮助一点。

相关问题拓展阅读:

linux中使用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有关文件修改与保存的命令:

插入命令

i 在当前位置生前插入

I 在当前行首插入

a 在当前位置后插入

A 在当前行尾插入

o 在当前行之后插入一行

O 在当前行之启改燃前插入一行

查找命令

/text  查找text,按n健查找下一个,按N健查找前一个。

?text  查找text,反向查找,按n健查找下一个,按N健查找前一个。

vim中有一些特殊字符在查找时需要转义  .*^%/?~$

:set ignorecase  忽略大小写的查找

:set noignorecase  不忽略大小写的查找

查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。

:set hlsearch  高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。

:set nohlsearch  关闭高亮搜索显示

:nohlsearch  关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。

:set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。

:set wrapscan  重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。

替换命令

ra 将当前字符替换为a,当期字符即光标所在字符。

s/old/new/ 用old替换new,替换当前行的之一个匹配

s/old/new/g 用old替换new,替换当前行的所有匹配

%s/old/new/ 用old替换new,替换所有行的之一个匹配

%s/old/new/g 用old替换new,替换整个文件的所有匹配

:10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进。

ddp 交换光标所在行和其下紧邻的一行。

移动命令

h 左移一个字符

l 右移一个字符,这个命令很少用,一般用w代替。

k 上移一个字符

j 下移一个字符

以上四个命令可以配合数字使用,比悄虚如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!,这里的Esc是必须的,否则命令不生效。

w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。

b 向后移动一个单词 2b 向后移动2个单词

e,同w,只不过是光标停在单词尾部

ge,同b,光标停在单词尾部。

^ 移动到本行之一个非空白字符上。

0(数字0)移动到本行之一个字符上,

移动到本行之一个字符。同0健。

$ 移动到行尾 3$ 移动到下面3行的行尾

gg 移动到文件头。 =

G(shift + g) 移动到文件尾。 = >>

f(find)命令也可以用于移动,fx将找到光标后之一个为x的字符,3fd将找到第三个为d的字符。

F 同f,反向查找。

跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。

Ctrl + e 向下滚动一行

Ctrl + y 向歼陆上滚动一行

Ctrl + d 向下滚动半屏

Ctrl + u 向上滚动半屏

Ctrl + f 向下滚动一屏

Ctrl + b 向上滚动一屏

撤销和重做

u 撤销(Undo)

U 撤销对整行的操作

Ctrl + r 重做(Redo),即撤销的撤销。

删除命令

x 删除当前字符

3x 删除当前光标开始向后三个字符

X 删除当前字符的前一个字符。X=dh

dl 删除当前字符, dl=x

dh 删除前一个字符

dd 删除当前行

dj 删除上一行

dk 删除下一行

10d 删除当前行开始的10行。

D 删除当前字符至行尾。D=d$

d$ 删除当前字符之后的所有字符(本行)

kdgg 删除当前行之前所有行(不包括当前行)

jdG(jd shift + g) 删除当前行之后所有行(不包括当前行)

:1,10d 删除1-10行

:11,$d 删除11行及以后所有的行

:1,$d 删除所有行

J(shift + j)  删除两行之间的空行,实际上是合并两行。

拷贝和粘贴

yy 拷贝当前行

nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。

p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。

shift+p 在当前行前粘贴

:1,10 co 20 将1-10行插入到第20行之后。

:1,$ co $ 将整个文件复制一份并添加到文件尾部。

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制

ddp交换当前行和其下一行

xp交换当前字符和其后一个字符

剪切命令

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切

ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴

:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。

:1, 10 m 20 将第1-10行移动到第20行之后。

退出命令

:wq 保存并退出

ZZ 保存并退出

:q! 强制退出并忽略所有更改

:e! 放弃所有修改,并打开原来文件。

依次输入指令。

一、i 在当前位置生前插入I ,在当前行首插入a 在当前位置判槐后插入A, 在当前行尾插入o ,在当前扰芦行之后插入一行O ,在当前行之前插入一行。

二、/text查找缓冲带text,按n健查找下一个,按N健查找前一个。?text  查找text,反向查找,按n健查找下一个,按N健查找前一个。

三、vim中有一些特殊字符在查找时需要转义*^%/?~$:set ignorecase,忽略大小写的查找:set noignorecase,不忽略大小写的查找查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索。

四、set nohlsearc关闭高亮搜索显示,nohlsearch关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。:set incsearch逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。:set wrapscan重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。

五、ra 将当前字符替换为a,当期字符即光标所在字符。s/old/new/ 用old替换new,替换当前行的之一个匹配s/old/new/g 用old替换new,替换当前行的所有匹配%s/old/new/ 用old替换new。

linux 怎么使用vi编辑器

给点参考吧

还蛮详细的

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 “,如果文件已经命名,可直接使用”: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”将缓冲区中的内容粘贴到当前文档

5.查找与替换操作(末行模式)

(1).自上而下:”:/word”查找指定的字符串,”n”查找下一个(自上而下)历渣行”N”反向查找下一个(自下而上)

(2).自下而上:”:?word”自下而上查找指定字符串,”n”查找下一个(自下而上)”N”反向查找下一个(自上而下)

(3).普通替换:”:s/old/new”由s开始,”old”指被替换的字符串,”new”替换成哪个字符串,此命令只替换当前行中之一个匹配的字符串

(4).行内全部替换:”:s/old/new/g”,当前行内所有匹配的字符串

(5).在行区域内进行替换:”:#,#s/old/new/g”,”#,#”表示两个行号之间的行区域,例如”3,5″表示第3行到第5行

(6).整个文件内的替换操作:”:%s/old/new/g”,加%表示整篇文档,危险,慎用

(7).使用替换确认功能:在原替换命令后加”c”可提供确认功能,例如:”:s/old/new/c”,”:s/old/new/gc”,”:#,#s/old/new/gc”,”:%s/old/new/gc”;替换命令确认后的提示为”replace with word (y/n/a/q/l/^E/^Y) ?”,其中”y”替换,”n”放弃,”a”所有,”q”退出

三、编辑器的多文件操作

1.多文件操作的vi启动:”vi ..”后跟多个文件名作为参数即可,之一个参数显示在屏幕上,其它文件处于编辑后台状态

2.多文件切换命令:

(1).显示多文件信息:”:args”结果中显示打开的文件,””内为当前显示文件

(2).前后切换文件:”:next”显示后一文件,”:prev”显示前一文件,加”!”为强制切换,不保存当前文件

(3).定位首文件和尾文件:”:first”定位首文件,”:last”定位尾文件

关于linux vi指令insert的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux vi指令:如何在insert模式下编辑文件? (linux vi指令insert)