vi编辑器介绍
vi应用场景

"vi" 是一个文本编辑器,它广泛用于各种应用场景,因为它是 Unix 和类Unix 操作系统中默认的文本编辑器。
以下是一些常见的 vi 应用场景:
1. 文件编辑:用户可以利用 vi 对文件进行创建、编辑、保存和退出等基本操作。
2. 代码编写:程序员使用 vi 来编写、修改和调试代码。
3. 配置文件编辑:系统管理员经常使用 vi 来编辑系统配置文件,如`.bashrc`、`vi`、`vimrc` 等。
4. 日志查看:在 Unix 系统中,许多日志文件都是以文本形式存在的,vi 可以用来查看和分析这些日志。
5. 查看命令输出:有时候,用户希望通过 vi 查看命令的输出,尤其是当输出内容很多,需要滚动查看时。
6. 学习基础命令:对于刚接触 Unix 或 Linux 系统的用户,学习 vi 的基本命令是了解操作系统的基础之一。
7. 文本处理:vi 提供了强大的文本处理功能,如搜索、替换、剪切、复制、粘贴等。
8. 多个文件编辑:用户可以同时编辑多个文件,并在它们之间快速切换。
9. 远程编辑:通过 SSH 或其他远程登录工具,用户可以在远程服务器上使用 vi。
10. 脚本编写:vi 可以用来编写脚本,进行自动化操作。
尽管现在有许多更现代的文本编辑器,如 Vim、Nano、Sublime Text、Visual Studio Code 等,vi 仍然因其简单、高效和强大的功能而在许多场景中得到应用。
Linux学习-vi编辑器

Linux学习-vi编辑器##################################################vi编辑器简介这是⽂本的编辑器,后⾯多次⽤到了这个命令,导致我不会,验证影响了我的进度vi是Linux中最经典的⽂本编辑器,为什么使⽤这个,就是速度快,vi的核⼼设计思想,让程序员的⼿指始终保持在键盘的核⼼区域,就能完成所有编辑操作vi只能编辑不能排版,没有图像界⾯vi不⽀持⿏标操作,没有菜单,只有命令,vim是从vi发展出来的,有代码补全,等功能,被称为编辑器之神,程序员都是⾸选vim,在Linux中直接把vi做成了vim的软连接,你使⽤vi命令就是使⽤的vim###################################################vim编辑:vim是LINUX系统必备啊安装:sudo apt-get install vim配置:sudo vim /etc/vim/vimrc,在这个⾥⾯进⾏配置,更加详细的配置上⽹查##############################################vi打开新建⽂件:vi ⽂件名,⽂件存在就是打开,不存在就是新建,vi hello.pyvi ⽂件名 +⾏数,打开⽂件并且定位⾏,异常处理,如果vi异常退出,在磁盘上可能会有保持的交换⽂件,下次在使⽤vi时,会看到发现交换⽂件,按d可以删除交换⽂件,注意输⼊的时候关闭输⼊法,在vim格式未保存时退出,或者两台机器同时操作⼀个⽂件时都会出现这个问题(保存在⼀个swap⽂件)看看当前的⽂件内容是不是原先的内容,如果觉得和你想要的差不多不需要恢复,那就直接执⾏rm指令删除那个swap⽂件执⾏这个操作不会对你现在的⽂件产⽣影响。
如果内容变化较⼤,你想要恢复,那就按:q##########################################⼯作模式有三种⼯作模式,这个很重要,1,命令模式,打开和esc,命令模式,使⽤vi命令打开⼀个⽂件,就是命令模式,命令模式下,可以进⾏常规的操作,⽐如定位,翻页,复制,粘贴,删除,在其他的图形编辑器下都是⿏标操作的,但是vi是通过命令的,2,末⾏模式,冒号:末⾏模式,执⾏保存,退出等操作,w就是write,写⼊的意思,保存,q就是退出,quit的意思,退出,末⾏模式是出⼝,命令模式就是⼊⼝,怎么进⼊出⼝,就是输⼊冒号:,进⼊末⾏模式,从末⾏模式到命令模式,按⼀下esc就进⼊命令模式3,编辑模式,i,编辑模式,正常的编辑⽂字,输⼊字母i,insert,就进⼊了编辑模式,不能使⽤⿏标,其他基本⼀样,按esc返回命令模式,在命令模式可以快速定位,在编辑模式只能上下键定位代码,编辑模式到命令模式,命令模式到末⾏模式,编辑模式不能直接到末⾏模式,现在基本可以操作了⼯作模式练习:⽂件改完之后⽤命令q和wq和!w都不能退出来!上⽹⼀查才发现原来vi命令在直接⽤vi+enter进⼊⽂件的时候这些命令退出不了,解决⽅法:直接⽤ctrl+z退出就⾏了.test.py.swp .test.py.swo,这种⽂件都是不正常退出⽂件导致的交换⽂件,这些可以使⽤rm直接删除,末⾏模式的命令:w 保持:q 退出:wq 保持退出:q! 强⾏退出,不保存退出,这也是⽐较常⽤的,⽐如修改错了,:x 这也是保持退出###########################################常⽤命令:vi⾮常强⼤,命令⾮常多,不要期望⼀下⼦都记住,要按照使⽤频率学习,使⽤vi命令的时候,命令线路图重复次数,输⼊⼀个数字,跟上⼀个命令,就可以重复执⾏指定次数,1,移动和选择(多练),这个⽐较多,2,编辑操作,删除,复制,粘贴,替换,3,撤销和重复4,查找和替换5,编辑注意关闭中⽂输⼊法,因为输⼊vi命令的时候是没有显⽰的,#############################################进⼊vi的命令vi filename :打开或新建⽂件,并将光标置于第⼀⾏⾸vi +n filename :打开⽂件,并将光标置于第n⾏⾸vi + filename :打开⽂件,并将光标置于最后⼀⾏⾸vi +/pattern filename:打开⽂件,并将光标置于第⼀个与pattern匹配的串处vi -r filename :在上次正⽤vi编辑时发⽣系统崩溃,恢复filenamevi filename....filename :打开多个⽂件,依次进⾏编辑##########################################移动命令上下左右的移动,h向左,j向下,k向上,l向右⾏内移动,w 向前移动单词,b先后移动⼀个单词,0数字零⽴刻到⾏⾸,$dollor符号⽴刻到⾏尾,^到⾏⾸,第⼀个不是空⽩字符的位置,⾏数移动:gg ⽂件顶部,G⽂件末尾,这个命令⾮常的重要,数字gg,移动到指定⾏数,数字G移动到指定⾏数,:数字,移动到对应⾏数,⼀般都是还是⽤go,屏幕移动,ctrl+b,向上翻页,ctrl+f,向下翻页,H屏幕顶部,M屏幕中间,L屏幕底部,注意只需要⼀个⼤写字母,段落移动, {这是往上寻找段落,}这是往下寻找段落,这是⽐较常⽤的切换⽅式括号切换,⼩括号,⽅括号,花括号,都是程序员常⽤的,可以使⽤百分号%切换括号如果有代码需要随后处理,需要参考别的代码,把编号移⾛,到时候怎么回来呢?可以使⽤标记,可以使⽤m 输⼊⼀个字母,然后移动光标,怎么胡来输⼊单引号,然后输⼊直接的标记的字母 ‘k,不⽤管标记如何删除,相同的会覆盖,删除⾏标记也会删除,不⽤管,选中命令,要复制要先选中,可以使⽤v,切换到可视模式,V 切换到可视⾏模式,ctrl+v,可视块模式,可以竖着选,很厉害,可视模式下,可以使⽤移动命令,快速选中⽂本,#############################################撤销命令u,在命令模式,输⼊u,撤销上次的命令,可以不停的回撤,到最初的命令,undo,ctrl+r,在命令模式,就是恢复撤销的命令,这两个⾮常的重要,保命的命令,删除命令x 删除光标所在的字符,或者选中的字符,5+x,这就是删除5个字符,d 需要和移动命令结合在⼀起⽤,删除选中的⽂本,dd 可以把光标所在的⾏删除D,可以删除⾄⾏尾,删除命令可以结合移动命令使⽤,所以移动命令很重要,复制和粘贴的命令y 复制,copy的英⽂,yy 复制⼀⾏,可以myy复制多⾏p粘贴 paste,,5+p,就是粘贴的内容复制5次,注意1:删除命令,本质就是剪切,可以再复制回来,⽐如dd,删除⼀⾏,p,就复制回来了,注意2:如果在其他软件复制的内容,你在命令模式p粘贴是不⾏的,要i,进⼊编辑模式,点击右键粘贴就对了,按esc就可以返回命令格式了,替换命令如果修改⼀个单词,就可以使⽤替换命令,⽐较快,否则就是i进⼊编辑模式,然后修改,然后esc,才可以,r,替换当前字符,输⼊r,然后输⼊H,这样就会把当前字符替换成⼤H了,如果是使⽤编辑模式呢,要输⼊i,然后删除,然后⼤写输⼊,然后esc退出编辑模式,R,替换当前⾏光标后的所有内容,缩排和重复执⾏命令缩排就是缩进,空格越少级别越⾼,>> 这是向右缩进<< 这是向左移动代码. 重复上次的操作,###############################################查找/str 查找strn查找下⼀个N查找上⼀个* 单词快速匹配,这是向上寻找,# 单词快速匹配,这是向下寻找,####################################################查找和替换::%s///g,这就是替换的格式,全局替换:%s/旧⽂本/新⽂本/g,,这是全局替换,:%s/hello/world/g可视区域替换可视区域范围内的替换,这样可以控制开发的风险,先选中,然后:s/旧⽂本/新⽂本/g,只是没有百分号,这就是可视区域替换确认替换,这是推荐使⽤的⽅式,:%s///gc,confirm确认的意思,(y/n/a/q/l/^E/^Y)?yes,no,all替换所有,q退出,只需要记住前四个⽽且这个是每⼀个替换都要确认,###############################################进⼊编辑命令的⽅式:I,⼤写的i,可以在⾏⾸插⼊,A,这个是在⾏尾进⼊编辑模式,这个⽤的多,i,当前字符前⾯添加⽂本,a,当前字符后添加⽂本,这个⽤的少,o⼩写,在光标上⽅插⼊⼀个空⾏,O,O⼤写,在光标下⽅插⼊⼀个空⾏,编辑和数字是可以连起来⽤的,1,输⼊10,表⽰重复10次2,输⼊i进⼊编辑模式3,输⼊*,也就是重复的⽂字,4,按下esc,返回命令模式,返回之后,vi就会把2,3两步重复10次,所以在编辑之前不要随便输⼊数字,会重复的,利⽤可视块,对多⾏代码添加注释,1,移动到需要增加注释的第⼀⾏代码,按^来到⾏⾸2,ctrl+v,进⼊可视块模式3,输⼊⼤I进⼊编辑模式,并在⾏⾸插⼊,4,输⼊#,也就是注释5,按下esc回到命令模式,返回之后会在选中的每⼀⾏添加#号了,######################################分屏命令:末⾏命令拓展,e.,在末⾏模式,输⼊e,会打开内置的⽂件浏览器,浏览当前⽬录下的⽂件,edit找到⽂件,然后回车,就到了另⼀个⽂件了,注意,这个时候⼀定⽂件要保存,在末⾏模式,e ⽂件名,直接到了另⼀个⽂件,不知道⽂件名,就是e. 点,这样可以不⽤退出vi,就可以继续编辑另⼀个⽂件了,:n ⽂件名,这是新建⼀个⽂件,:w ⽂件名,这是把当前编辑的⽂件全部写⼊⼀个⽂件,当前编辑的⽂件不会切换,w,为什么要这么设计?可以阶段性的备份代码,分屏命令练习sp ⽂件名,横向增加分屏:vsp ⽂件名,纵向分屏ctrl+w,这是快捷键r,互换窗⼝c 关闭窗⼝,###把⼀个⽂件清空的办法:使⽤ echo 命令清空⽂件在这⾥,你可以使⽤ echo命令将空字符串的内容重定向到⽂件中,具体如下:# echo "" > access.log或者# echo > access.log############################################ ###########################################。
vi编辑器

Linux网络操作系统
Linux网络操作系统
vi编辑器
用户往往需要建立自己的文件,无论是一般文本文件、数据文件还 是程序源文件,建立文本文件要利用编辑器,Linux系统中提供行编辑器 (ed、ex、edit)和屏幕编辑器(vi),vi汇集了行编辑器和屏幕编辑器特 点,成为UNIX /Linux系统中最常用的编辑器。
1.1 vi的工作模式
:q! 如果用户对文件的内容作了修改,然后决定要放弃对文件的修 改,可以使用“:q!”强行退出vi,在这种情况下文件原来的内容不 变。
:wq 用户在编辑结束时,用“:wq”命令保存文件至磁盘,然后退 出vi。ZZ指令表示快速保存文件的内容,然后退出vi,功能和 “:wq”相同。注意:ZZ前面没有冒号。
3.状态行
状态行:屏幕底部一行,通常是第24行,被vi编辑 器用来反馈编辑操作结果。错误消息或者提供信息的 消息会在状态行中显示出来。vi还会在24行显示那些 以冒号“:”或者问号“?”开头的命令。
如果从指令模式切换到编辑模式,则可以按 “Insert”键;如果从编辑模式切换到指令模式,则可以 按“Esc”键。如果不能断定目前处于什么模式,则可 以多按几次“Esc”键,这时系统会发出蜂鸣声,证明 已经进入指令模式。
2.退出vi 要离开vi可以在指令模式下键入“:q”,“q!”或“:wq”离开(注意冒
号)。键入冒号后,在屏幕的最末尾一行会出现冒号提示符,等待用户键 入指令,输入完指令后回车,vi就会执行该指令。
:q 如果用户只是读文件的内容而未对文件进行修改,可以使用 “:q”退出vi;如果用户对文件的内容作了修改,而用“:q”退出时, 那么vi在屏幕的底行会提示信息“No write since last change(:q! overrides).”。
第6章-vi编辑器

vi文本编辑器
Unix提供了一系列的文本编辑器,包括ex、edit和 vi。Vi是Unix世界里极为普遍的全屏幕文本编辑器, VIM是它的改进版本Vi IMproved的简称。 几乎可以说任何一台Unix/Linux机器都会提供这套 软件,Vi 的原意是 “Visual”,它是一个立即反 应的编辑程序,也就是说可以立刻看到操作结果, 于 vi 是全屏幕编辑器 。 用户无论是建立文本文件,还是编写程序、配置系 统环境,都要用到文本编辑器。Linux操作系统环境 下提供了许多文本编辑器。
6.4
底行命令模式下的操作
:20 <回车> #光标移到第20行的行首。
定位操作 显示指定文本区
:m,np :m,nd #显示m,n行 #删除m,n行
删除指定文本区 给定检索字符串的模式,向前或向后查找, 光标停在首先找到的匹配行的行首。
底行命令模式下的操作~全局替换命令
:g/模式/命令表
:g/字符串1/p :g/字符串1/s//字符串2/ :g/字符串1/s//字符串2/g :g/字符串1/s//字符串2/gp :g/字符串1/s//字符串2/gc :g/字符串0/s/字符串1/字符串2/g
命名缓冲区
由字母a~z命名,即vi可以拥有26个字母命 名的不同缓冲区。
从编辑缓冲区到命名缓冲区(拷贝或剪切)命 令格式为:
行号+操作命令 “字母名+行号 操作命令(Y,dd) 字母名 行号 操作命令( )
从命名缓冲区到编辑缓冲区(粘贴)命令格式 为为:
"字母名 操作命令(P,p) 字母名+操作命令 字母名 操作命令( )
6.1
vi编辑器的启动、保存和退出
vi编辑器的启动
vi的使用场景

vi的使用场景vi是一款在Unix系统中广泛使用的文本编辑器,它具有简单、高效、灵活等特点,常用于编写和编辑各种类型的文本文件。
下面将介绍vi在不同场景下的使用方法和技巧。
1. 编辑配置文件vi在编辑配置文件方面非常强大。
通过vi可以打开并编辑各种配置文件,如网络配置文件、系统配置文件等。
例如,可以使用vi打开并修改/etc/sysconfig/network文件,来设置网络参数。
在编辑配置文件时,可以使用vi的查找功能,快速定位到需要修改的配置项,并使用各种编辑命令进行修改。
2. 编写程序代码vi是程序员们喜爱的编辑器之一,可以用来编写各种编程语言的代码。
在vi中,可以对代码进行高亮显示,便于阅读和修改。
通过使用不同的命令和快捷键,可以实现代码的复制、粘贴、删除、移动等操作。
同时,vi还支持代码自动补全、语法检查等功能,提高编码效率。
3. 查看和编辑日志文件在Unix系统中,日志文件记录了系统的运行情况和各种操作的记录。
使用vi可以方便地查看和编辑这些日志文件。
通过vi的搜索功能,可以快速定位到关键字所在的位置,方便查找和分析问题。
同时,vi还支持在日志文件中进行替换和删除操作,便于对日志内容进行整理和处理。
4. 远程服务器管理vi可以通过SSH等远程登录工具连接到远程服务器,并对服务器进行管理和配置。
通过vi的远程编辑功能,可以直接在远程服务器上编辑文件,而无需将文件复制到本地进行编辑。
这样可以节省时间和网络带宽,并提高工作效率。
在远程服务器管理中,vi还支持多窗口编辑、多文件编辑等功能,方便同时操作多个文件。
5. 快速查找和替换文本vi内置了强大的查找和替换功能,可以快速定位到指定的文本,并进行替换操作。
通过使用正则表达式,可以进行更加灵活和精确的查找和替换。
同时,vi还支持批量替换和全局替换等高级操作,方便对大量文本进行修改。
6. 文本编辑和格式化vi提供了丰富的文本编辑功能,可以对文本进行插入、删除、复制、粘贴等操作。
07.vi编辑器

用vi 命令启动vi 编辑器,命令语法: 命令启动vi 编辑器,命令语法: $ vi 文件名 若文件名不存在,则创建这个文件名的新文件 若文件名不存在, 若文件名存在, 若文件名存在,则编辑这个文件名的文件
启动vi编辑器(2) 启动vi编辑器(2) vi编辑器
vi 编辑器界面: 编辑器界面:
$ vi vifile
在命令模式下移动光标,在全文件内移动光标: 在命令模式下移动光标,在全文件内移动光标: 1G 45G G 移动到全文的第一行 移动到全文的第45行 移动到全文的第45行 移动到全文的最后一行
在全文件内,翻屏移动光标: 在全文件内,翻屏移动光标: <ctrl+f> <ctrl+b> 向前翻屏 向后翻屏
移动光标(5) 移动光标(5)
在命令模式下移动光标,在一屏幕内移动光标: 在命令模式下移动光标,在一屏幕内移动光标: 向上箭头或k 向上箭头或k键,移动到上一行 向下箭头或j 向下箭头或j键,移动到下一行 H M L 移动到屏幕的第一行 移动到屏幕的中间一行 移动到屏幕的最后一行
移动光标(6) 移动光标(6)
vi的参数 vi的参数(2) 的参数(2)
vi 的设置文件是$HOME/.exrc,把vi的参数写 的设置文件是$HOME/.exrc, vi的参数写 入这个文件,以后用户启动vi 编辑器, 入这个文件,以后用户启动vi 编辑器,这些参 数将自动生效 在vi 编辑器中,要生效某个参数,要先输入“:” 编辑器中,要生效某个参数,要先输入“ 在$HOME/.exrc 文件中,不用“:”,直接set 文件中,不用“ 直接set
移动光标(3) 移动光标(3)
在命令模式下移动光标,在一单词间移动光标: 在命令模式下移动光标,在一单词间移动光标: w W b B e E 移动到下一个狭义单词的开头 移动到下一个广义单词的开头 移动到前一个狭义单词的开头 移动到前一个广义单词的开头 移动到下一个狭义单词的末尾 移动到下一个广义单词的末尾
虚拟机编辑器vi使用方法详细介绍

虚拟机编辑器vi使⽤⽅法详细介绍vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强⼤不逊⾊于任何最新的⽂本编辑器,这⾥只是简单地介绍⼀下它的⽤法和⼀⼩部分指令。
由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地⽅进⼀步了解它。
Vi也是Linux中最基本的⽂本编辑器,学会它后,您将在Linux的世界⾥畅⾏⽆阻。
基本上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)。
在系统提⽰符号输⼊vi及⽂件名称后,就进⼊vi全屏幕编辑画⾯: $ vi myfile 不过有⼀点要特别注意,就是您进⼊vi之后,是处于「命令⾏模式(command mode)」,您要切换到「插⼊模式(Insert mode)」才能够输⼊⽂字。
初次使⽤vi的⼈都会想先⽤上下左右键移动光标,结果电脑⼀直哔哔叫,把⾃⼰⽓个半死,所以进⼊vi后,先不要乱动,转换到「插⼊模式(Insert mode)」再说吧!在「命令⾏模式(command mode)」下按⼀下字母「i」就可以进⼊「插⼊模式(Insert mode)」,这时候你就可以开始输⼊⽂字了。
vi编辑器

第3章文本编辑3.1.1 VI编辑器vi是Linux系统的第一个全屏幕交互式编辑程序,它从诞生至今一直到广大用户的青睐,历经数十年仍然是人们主要使用的文本编辑工具。
vi是“Visual infterface”的简称,它在Linux上的地位就仿佛Edit 程序在DOS上一样,它可以执行输出、删除、查找、替换、块操作等多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。
3.1.2 VIM工作模式1.命令模式使用vi编辑文件时,刚一进入时的模式就是命令模式。
在这个模式中,可以使用上、下、左、右键或者是k,j,h,l命令进行游标移动,并且可以对文件内容进行复制、粘贴、替换、整行删除等操作。
2.编辑模式在一般模式中是无法对文件进行写操作,写操作要通过编辑模式来完成。
进入编辑模式的方法是按一下i键或者insert键即可,在这种模式中,可以对文件进行写操作,如果对文件编写完成按一下Esc键即可回到一般模式中。
3.EX模式EX模式又称为底行命令模式,如果要查找或者替换一些内容,这就需要使用EX模式。
EX模式的进入方法为:先通过Esc键转成命令模式,然后再按下“:”键,会发现在文件的最下方出现了一个“:”键,这时就可以输入相关的指令进行查找或者替换了,最主要的是退出vi时也要使用到这个模式。
3.1.3 进入VI1.使用VI打开文件,如$ vi /etc/passwd2.直接进入指定位置处,如$ vi +20 /etc/passwd 打开/etc/passwd文件时直接进入第20行。
如果想打开文件后直接进入到有“hxl”字符器的行数处,如果文件中有多个hxl字符串,则会以第一个查到的为准。
如$ vi +/hxl /etc/passwd3.1.4 VI应用基础1.进入编辑模式i——在当前光标所在位置,插入随后输入的文本,光标后的文本相应向右移动。
I——在当前光标所行的2插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首再执行i命令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.vi的基本概念
文本编辑器有很多,图形模式下有gedit、kwrite等编辑器,文本模式下的编辑器有vi、vim (vi的增强版本)和nano。
vi和vim是Linux系统中最常用的编辑器。
vi编辑器是所有Linux系统的标准编辑器,用于编辑任何ASCII文本,对于编辑源程序尤其有用。
它功能非常强大,通过使用vi编辑器,可以对文本进行创建、查找、替换、删除、复制和粘贴等操作。
vi编辑器有3种基本工作模式,分别是命令模式、插入模式和末行模式。
在使用时,一般将末行模式也算入命令行模式。
各模式的功能区分如下。
1.命令行模式
控制屏幕光标的移动,字符、字或行的删除,移动、复制某区域及进入插入模式,或者到末行模式。
2.插入模式
只有在插入模式下才可以做文本输入,按“ESC”键可回到命令行模式。
3.末行模式
将文件保存或退出vi编辑器,也可以设置编辑环境,如寻找字符串、列出行号等。
二.vi的基本操作
1.进入vi编辑器
在系统shell提示符下输入vi及文件名称后,就进入vi编辑画面。
如果系统内还不存在该文件,就意味着要创建文件;如果系统内存在该文件,就意味着要编辑该文件。
下面就是用vi编辑器创建文件的示例。
#vi filename
~
进入vi之后,系统处于命令行模式,要切换到插入模式才能够输入文字。
2.切换至插入模式编辑文件
在命令行模式下按字母“i”就可以进入插入模式,这时候就可以开始输入文字了。
3.退出vi及保存文件
在命令行模式下,按冒号键“:”可以进入末行模式,例如:[:w filename]将文件内容以指定的文件名filename保存。
输入“wq”,存盘并退出vi。
输入“q!”,不存盘强制退出vi。
下面表示vi编辑器的3种模式之间的关系。
三.命令行模式操作
1.进入插入模式
按“i”:从光标当前位置开始输入文件。
按“a”:从目前光标所在位置的下一个位置开始输入文字。
按“o”:插入新的一行,从行首开始输入文字。
按“I”:在光标所在行的行首插入。
按“A”:在光标所在行的行末插入。
按“O”:在光标所在的行的下面插入一行。
按“s”:删除光标后的一个字符,然后进入插入模式。
按“S”:删除光标所在的行,然后进入插入模式。
2.从插入模式切换为命令行模式
按“ESC”键盘。
3.移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母“h”、“j”、“k”、“l”分别控制光标左、下、上、右移一格。
按“ctrl+b”:屏幕往后移动一页。
按“ctrl+f”:屏幕往前移动一页。
按“ctrl+u”:屏幕往后移动半页。
按“ctrl+d”:屏幕往前移动半页。
按数字“0”:移动到文本的开头。
按“G”:移动到文件的最后。
按“$”:移动到光标所在行的行尾。
按“^”:移动到光标所在行的行首。
按“w”:光标跳到下个字的开头。
按“e”:光标跳到下个字的字尾。
按“b”:光标回到上个字的开头。
按“nl”:光标移动该行的第n个位置,例如:“5l”表示移动到该行的第5个字符。
4.删除文字
“x”:每按一次,删除光标所在位置的后面一个字符。
“nx”:例如:“6x”表示删除光标所在位置后面6个字符。
“X”:大写的X,每按一次,删除光标所在位置的前面一个字符。
“xX”:例如:“20X”表示删除光标所在位置前面20个字符。
“dd”:删除光标所在行。
“ndd”:从光标所在行开始删除n行。
例如:“4dd”表示删除从光标所在行开始的4行字符。
5.复制
“yw”:将光标所在之处到字尾的字符复制到缓冲区中。
“nyw”:复制n个字到缓冲区。
“yy”:复制光标所在行到缓冲区。
“nyy”:例如:“6yy”表示复制从光标所在行开始6行字符。
“p”:将缓冲区内的字符写到光标所在位置。
6.替换
“r”:替换光标所在处的字符。
“R”:替换光标所到处的字符,直到按下“ESC”键为止。
7.撤销上一次操作
“u”:如果误执行一个命令,可以马上按下“u”,回到上一个操作。
按多次“u”可以执行多次撤销操作。
8.更改
“cw”:更改光标所在处的字到字尾处。
“cnw”:例如:“c3w”表示更改3个字。
9.跳至指定的行
“ctrl+g”:列出光标所在行的行号。
“nG”:例如:“15G”,表示移动光标到该文件的第15行行首。
10.存盘退出
“ZZ”:存盘退出
11.不存盘退出
“ZQ”:不存盘退出
四.末行模式操作
在使用末行模式之前,请记住先按“ESC”键确定已经处于命令行模式后,再按冒号“:”即可进入末行模式。
1.列出行号
“set nu”:输入“set nu”后,会在文件中的每一行前面列出行号。
2.取消列出行号
“set nonu”:输入“set nonu”后,会取消在文件中的每一行前面列出行号。
3.搜索时忽略大小写
“set ic”:输入“set ic”后,会在搜索时忽略大小写。
4.取消搜索时忽略大小写
“set noic”:输入“set noic”后,会取消在搜索时忽略大小写。
5.跳到文件中的某一行
“n”:“n”表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车就会跳到文本的第15行。
6.查找字符
“/关键字”:先按“/”,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按“n”,往后查找一个关键字。
“? 关键字”:先按“?”键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按“?”,往后查找一个关键字。
7.运行shell命令
“!cmd”:运行shell命令cmd。
8.替换字符
“s /SPARCH/REPLACE/g”:把当前光标所处的行中的SEARCH单词替换成REPLACE,并把所有SEARCH高亮显示。
“%s/SPARCH/REPLACE”:把文档中所有SEARCH替换成REPLACE。
“n1,n2 s /SPARCH/REPLACE/g”:n1、n2表示数字,表示从n1行到n2行,把SEARCH替换成REPLACE。
9.保存文件
“w”:在冒号输入字母“w”就可以将文件保存起来。
10.离开vi
“q”:按“q”即退出vi,如果无法离开vi,可以在“q”后面一个“!”强制符离开vi。
“qw”:一般建议离开时,搭配“w”一起使用,这样在退出的时候还可以保存文件。
特别注意,在vi中,“数字”是很有意义的。
数字通常表示重复做几次的意思。
也有可能表示要去哪里的意思。
举例来说,要删除50行,则是用“50dd”。
数字加在动作之前。
要向下移动20行,使用“20j”或“20↓”即可。
掌握这些命令就很不错了,因为常用到的命令也可能只有一半。
通常vi的命令除了上面笔者注明的常用的几个外,其他不用背,可以做一张简单的命令表,当有问题时就可以马上查询。