linux中vi编辑器怎样使用

Vim是Viimproved的缩写,是vi的改进版本。
在Linux中,vi被认为是事实上的标准编辑器,因为所有Linux版本都附带vi编辑器,并且与ed和ex等其他编辑器相比,消耗的资源更少。
vi编辑器允许您编辑现有文件、创建新文件以及以只读模式打开文本文件。
您可以通过以下方式进入vi编辑器:命令说明vifilename如果filename存在,则打开它,否则将创建并打开一个新文件。
vi-Rfilename以只读模式打开现有文件(只能查看,不能编辑)。
viewfilename以只读模式打开现有文件。
例如,使用vi编辑器创建并打开一个新文件:$vitestfile|~~~~~~~~~~~~"testfile"[NewFile]竖线(|)代表光标所代表的位置;波形符(~)代表“这条线上没有任何内容”。
如果没有~而看不到任何内容,则说明这一行必须包含空格(空格、制表符缩进、换行符等)或不可见字符。
工作模式在我们详细了解vi之前,我们先来了解一下vi的工作模式。
vi有三种工作模式:1)普通模式当你通过shell进入vi编辑器时,首先切换到普通模式。
在正常模式下,通过键盘输入的所有字符都被解释为命令。
正常模式下没有任何提示。
该命令键入后立即执行,无需按回车键,并且输入的字符不会显示在屏幕上。
在普通模式下,可以执行命令、保存文件、移动光标、粘贴复制等。
2)编辑模式编辑模式主要用于文本编辑。
在此模式下用户输入的所有字符都将保存为文件内容并显示在屏幕上。
3)命令模式命令模式允许用户对文件进行一些高级处理操作。
虽然命令在普通模式下可以执行很多功能,但仍然需要切换到命令模式才能执行搜索字符串、替换、显示行号等操作。
注意:有些教程指出有两种工作模式,将命令模式与普通模式合并。
切换工作模式:在普通模式下输入i(插入)、C(更改)、O(开始新行)命令时,进入编辑模式。
按Esc键返回正常模式。
在普通模式下,输入冒号(:)进入命令模式。
输入命令后,按Enter键。
命令执行后,会自动返回正常模式。
提示:如果您不确定当前处于哪种模式,请按两次Esc键返回正常模式。
要退出vi编辑器,一般以命令模式退出vi编辑器。
Exit命令说明q如果文件没有被修改,则直接返回到shell。
否则,系统会要求您保存文件。
问!强制退出而不保存更改。
wqw命令保存文件,q命令退出vi。
一起保存退出。
ZZ保存并退出,相当于wq,但更实用。
退出前,还可以在w命令后指定文件名,将文件另存为新文件。
示例:wfilename2将当前文件保存为filename2。
注意:vi编辑文件时,操作是基于缓冲区中的副本上的用户的信息。
如果退出而不保存到磁盘,缓冲区的内容将会丢失。
要移动光标而不影响文件内容,需要在正常模式下移动光标(按Esc键两次)。
使用下表中的命令一次移动一个字符:命令说明k向上移动光标(移动一行)j向下移动光标(移动一行)h向左移动光标(移动一个字符)l移动光标光标向右移动(移动一个字符)两点注意:vi区分大小写,输入命令时一定不要锁定大写字母。
您可以在命令前添加数字作为前缀,例如B.2j将光标向下移动两行。
当然,还有很多其他用于移动光标的命令,但请记住它必须处于正常模式(按Esc两次)。
移动光标的命令命令说明0或|将光标置于行首。
$将光标定位在行尾。
w查找下一个单词。
b查找前一个单词。
(查找句子的开头。
该句子由三个符号定义!.?.)查找句子的结尾。
{转到段落的开头。
&&&&&&}移至段落末尾。
&&&&&&&&&[[回到段落开头。
&&&&&&&&&&]]想转到下一段的开头。
&&&&&&&&&n|移至第n列(当前行)。
1G被移动到文件的第一行。
G转到文件的最后一行。
nG移动到文件的第n行。
:n移动到文件的第n行。
H移动到屏幕顶部。
nH移动到屏幕顶部的第n行。
M移动到屏幕中央。
L移动到屏幕底部。
nL更改为从屏幕底部算起的第n行。
:xx是一个数字,表示移动到行号为x的行。
控制命令有一些控制命令可以与Ctrl键结合使用,如下所示:命令说明CTRL+d向前滚动半个屏幕。
CTRL+f向前滚动整个屏幕。
CTRL+u向后滚动半个屏幕。
CTRL+b在全屏模式下向后滚动CTRL+e向上滚动一行CTRL+y向下滚动一行CTRL+I刷新屏幕以编辑文件。
进入编辑模式来编辑文件。
从普通模式切换到编辑模式的命令有很多:命令说明i在当前光标位置之前插入文本I在当前行行首插入文本a在当前光标位置之后插入文本A在当前光标位置末尾插入文本lineo当前位置下一行O当前位置上一行删除字符以下命令可用于删除文件中的字符或行:命令说明x删除当前光标下的字符X删除除前面的字符这光标。
dw删除从当前光标到单词末尾的字符。
d^删除从当前光标到行首的字符。
d$删除当前光标到行尾的字符D删除当前光标到行尾的字符。
dd删除光标所在行。
命令前可以添加数字前缀,表示重复操作的次数。
例如,2x表示光标下的字符将连续删除两次,2dd表示光标下的行将连续删除两次被删除。
建议读者多练习以上命令,然后再进一步研究。
更改文本如果要更改字符、单词或行,可以使用以下命令:命令说明cc删除当前行并进入编辑模式。
cw删除当前单词(word)并进入编辑模式。
r替换当前光标下的字符。
替换从当前光标开始的字符,然后按Esc退出。
s用输入的字符替换当前字符并切换到编辑模式。
S用输入的文本替换当前行并切换到编辑模式。
PasteCopy命令在vi中进行复制粘贴:命令说明yy复制当前行nyy复制n行yw复制一个单词(word)nyw复制n行p将复制的文本插入光标后面P将复制的文本插入光标前面高级命令尽管下面的一些命令可能看起来有点奇怪,但它们会让您的工作更有效率。
如果您是VI的重度用户,请了解一下他们。
命令说明J将当前行与下一行连成一行<<将当前行向左移动一个单位(一个缩进宽度)>>将当前行向右移动一个单位(一个缩进宽度)~更改大小写当前字符的灵敏度^GStrl+G组合键可以显示当前文件名和状态U撤消对当前行所做的更改u撤消上一次操作,再次按“u”恢复此操作操作:f以百分号(%)的形式显示当前光标在文件中的位置、文件名和文件中的总行数:ffilename将文件重命名为filename:wfilename将更改保存到filename:efilename打开另一个文件名。
文件为filename:cddirname将当前工作目录更改为dirname:e#在两个打开的文件之间切换:n如果用vi打开多个文件,可以使用:n切换到下一个文件:p如果用vi打开多个文件vi,可以使用:n转到上一个文件:N。
用vi打开多个文件时,可以使用:n转到上一个文件:rfile读取文件,并将其插入到当前行之后:nrfile读取文件,并将文本插入到第n行之后。
如果你想做一个完整的文件搜索,你可以在普通模式下进行(按Esc两次。
输入/命令。
然后状态栏(最后一行)会显示“/”并提示你,输入搜索的字符串。
/命令向下搜索,此时可以使用?命令继续同方向搜索输入命令N,继续反向搜索搜索字符串可能包含一些具有特殊含义的字符,如果您想自己搜索这些字符,则必须在特殊字符列表的字符描述的一部分前面加上^以匹配的开头。
一行匹配一个字符*匹配0个或多个字符$匹配行尾如果要搜索一行中的单个字符,可以使用f或F命令。
f向上搜索,F向下搜索,光标位于相应的字符上。
您还可以使用命令t或T:The命令t向上搜索并将光标定位到匹配字符的前面;T命令向下搜索并将光标定位在适当的字符后面。
set命令set命令可用于对vi编辑器进行一些设置。
要使用Set命令,您必须进入命令模式。
:set命令选项命令说明:在Setic中搜索时忽略大小写。
:setai设置自动缩进(自动对齐)。
:setnoai取消自动缩进(自动对齐)。
:setnu显示行号。
:setsw设置缩进的空格数。
例如,将缩进的空格数设置为4::setsw=4。
:setws循环搜索:如果到文件末尾没有找到指定字符,则返回到开头继续搜索。
:setwm设置自动换行,例如例如,设置距边缘2个字符的换行符::setwm=2。
:setro将文件类型更改为只读。
:setterm输出终端类型。
:setbf忽略输入控制字符,如BEL(响铃)、BS(退格)、CR(回车)等。
运行命令进入命令模式,然后发出命令!运行Linux命令。
例如,如果要在保存文件之前检查文件是否存在,请键入:!ls以列出当前目录中的文件。
按任意键返回vi编辑器。
文本替换进入命令模式,然后输入命令/命令来替换文本。
语法为::s/search/replace/gsearch是检索的文本,replace是要替换的文本,g代表全局替换。

Vi编辑器的使用方法

vi编辑器是所有Unix和Linux系统下的标准编辑器,它的功能与任何现代文本编辑器一样强大,这里简单介绍一下它的使用方法和少量说明。
由于vi编辑器对于任何版本的Unix和Linux系统都是相同的,因此无论何时介绍vi,您都可以了解更多有关它的信息。
Vi也是Linux中最基本的文本编辑器,学会了它,你在Linux世界里就没有问题了。
1.基本概念六.基本上,vi可分为三种状态,即命令模式(commandmode)、插入模式(Insertmode)和最后一行模式(lastlinemode),区分如下:1).命令模式命令模式)控制屏幕光标移动、删除字符、单词或行、移动和复制节并进入插入模式或最后一行模式。
2)插入模式(InsertMode)文本输入只能在插入模式下完成按“ESC”键返回命令行模式。
3)底行模式(lastlinemode)保存文件或退出vi,还可以设置编辑环境,如搜索字符串、列出行号等。
不过,一般我们在使用vi的时候,都会将vi简化为两种模式,即底线模式(​​lastlinemode)也包含在命令行模式(commandmode)中。
2、vi的基本操作a)输入vi在系统提示符下输入vi和文件名后,就会进入vi的全屏编辑界面:$vimyfile不过有一点要特别注意的是,输入vi后,您处于“命令行模式”。
(命令模式)”,需要切换到“插入模式(InsertMode)”才能输入文本。
第一次使用vi的人会想先用上下左右键来移动光标。
如结果,电脑会发出蜂鸣声,这让他们气得要死,并切换到“插入模式”。
c)切换。
插入您现在处于“插入模式”,您只能继续输入文字,如果您发现输入了错误的单词,如果您想使用光标键向后移动并删除该单词,您必须先按“ESC”键“转到“命令模式(commandmode)”,然后删除该单词。
d)退出vi并保存文件在“命令模式(commandmode)”中,单击“:”键输入“last行模式”,例如::wfilename(输入“wfilename”保存文章与指定。
filenamefilename):wq(输入“wq”,保存并退出vi):q!(输入q!,强制退出vi而不保存)3.命令模式功能键(命令模式)1.在插入模式下,按“i”切换到插入模式“插入模式”。
光标;按“a”进入插入进入模式后,从当前光标位置旁边的位置开始输入文本按“o”进入插入模式后,输入新行并从行首开始输入文本。
2)。
按“ESC”键从插入模式切换到命令行模式。
3)。
要移动vi光标,可以直接用键盘上的光标进行上下左右移动,但普通vi使用英文小写字母“h”、“j”、“k”、“l”来移动分别控制光标向左、向下、向左。
向右上方移动一格。
按“ctrl”+“b”:屏幕“后退”一页。
按“ctrl”+“f”:屏幕“向前”移动一页。
按“ctrl”+“u”:屏幕“后退”半页。
按“ctrl”+“d”:屏幕“向前”移动半页。
按数字“0”:转到文章开头。
按“G”:移至文章末尾。
按“$”:移动到光标所在行的“末尾”。
按“^”:移动到光标所在行的“行首”按“w”:光标跳到下一个单词的开头按“e”:光标跳到下一个单词的末尾。
按“b”:光标返回到上一个字符的开头按“#l”:光标移动到该行的#位置,如:5l、56l。
4)。
删除“x”文本:每按一次,光标位置“后面”的字符就会被删除。
“#x”:例如“6x”表示删除光标位置“后面”的6个字符。
“X”:字母X,每按一次,删除前面的一个字符。
“#X”:例如“20X”表示删除光标位置“之前”的20个字符。
“dd”:删除光标所在行。
“#dd”:删除从光标所在行开始的#行5)。
“#yw”:复制#个字到缓冲区“yy”:复制光标所在行到缓冲区。
“#yy”:例如“6yy”表示从光标所在行开始“倒计时”复制6行文字。
“p”:将缓冲区中的字符粘贴到光标位置。
注意:所有与“y”相关的复制命令必须与“p”组合才能完成复制和粘贴功能。
6).替换“r”:替换光标所在的字符。
“R”:替换光标所在的字符,直到按下“ESC”键。
7).返回上一操作“u”:如果执行错误命令,可以立即按“u”返回上一操作。
多次按“u”可进行多次回复。
8).更改“cw”:更改光标所在单词“c#w”末尾的单词:例如“c3w”表示更改3个单词9)。
“columng”光标所在行的行号。
“#G”:例如“15G”表示将光标移动到文章第15行行首。
4、Lastlinemode中的命令介绍在使用“之前Lastlinemode”,请记得按“ESC”键确保处于“commandmode”,然后按冒号“:”进入“lastlinemode”。
A)列出“setnu”行号:输入“setnu”后,行号将列在文件中每行的前面B)跳转到中的特定行。
文件“#”:符号“#”代表数字在冒号后面输入数字,按回车键即可跳转到该行,例如输入数字15,按回车键,就会跳转到文章的第15行。
C)查找字符“/字键”:先按“/”键,然后输入要搜索的字符,如果第一次搜索的关键字不是您想要的,可以继续按。
“n”稍后搜索您想要的关键字。
“?关键字”:按“?”首先,然后输入您要搜索的字符如果您第一次搜索的关键字不是您想要的,您可以继续按“n”向前搜索以找到您想要的关键字。
D)保存文件“w”:在冒号中输入字母“w”即可保存文件。
E)离开vi“q”:按“q”退出如果无法离开vi,可以强行“!”“qw”:通常建议退出时与“w”一起使用,这样退出时可以保存文件。
五、命令列表vi1.下表列出了命令模式下部分按键的功能:h光标左移一个字符l光标右移一个字符k光标上移一行j光标下移一行^将光标移至行首0数字“0”,将光标移至文章开头G.将光标移至文章末尾$将光标移至文章行末尾Ctrl+f向前滚动Ctrl+b向后滚动Ctrl+d滚动向前半屏Ctrl+u向后滚动半个屏幕i在光标位置之前输入字符a开始光标位置后增加字符o输入新行,从行首输入ESC从输入状态返回命令状态x删除光标后面的字符#xDelete#字符X(大写数字#行yw复制光标位置处的单词#yw复制#上的字符光标位置yy在光标位置复制行#yy复制编号#从光标位置开始的行p粘贴u取消操作cw更改光标位置一个字#cw更改#字光标位置2.下表列出了命令行模式下的一些命令wfilename保存一个正在作为文件进行编辑的文件enamewqfilename将正在编辑的文件保存为文件名,然后退出viq!搜索的不是您想要的内容要搜索关键字,请按n或向后(与/一起使用)或向前(与?一起使用)继续搜索,直到您找到第一次使用vi,有几点需要注意:1.用vi打开文件后,处于“命令模式(commandmode)”。
您可以输入文字。
转换方法:在“命令”中按“命令模式”中的字母“i”进入“插入模式”。
此时,您可以开始输入文本。
2、编辑完成后,需要从插入模式切换到命令行模式来保存文件。
转换方法:按“ESC”键。
3.保存并退出文件:在命令模式下输入:wq!(别忘了前面有wq这个词:)