vi编辑器:命令模式、输入模式、末行模式
1、命令模式(command mode)—执行命令
在该模式中,可以输入命令来执行许多种功能。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
2、输入模式(Insert mode)—输入文本
vi被运行时,通常处在命令模式下,键入以下命令 可以使vi退出命令模式,进入输入模式:I(i)、A(a)、O(o)。
3、末行模式(last line mode)—执行待定命令
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。不过一般我们在使用时把vi简化成两个模式,就是将末行模式(last line mode)也算入命令行模式command mode)。
1. vi的启动
输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令模式。
(1) vi
进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。
(2) vi file1
如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。
(3) vi + file1
如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件最后1行第1列的位置上。
(4) vi +N file1(N:为数字)
如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件第N行第1列的位置上。
(5) vi +/string file1
如果file1文件不存在将建立此文件;如该文件存在则将其拷贝到一个临时缓冲区。光标定位在文件中第一次出现字符串string的行首位置。
2. 退出vi(末行模式(last line mode))
建议在退出vi前,先按ESC键,以确保当前vi的状态为命令方式,然后再键入“:”(冒号),输入下列命令,退出vi。
(1) :w
将编辑缓冲区的内容写入文件,则新的内容就替代了原始文件。这时并没有退出vi,必须进一步输入下述命令才能退出vi:
:w filename(存入指定文件)
:q
(2) :wq
即将上面的两步操作可以合成一步来完成,先执行w,后执行q。
3、在文件中移动光标
- h:向左移动一个字符
- l:向右移动一个字符
- j:向下移动一行
- k:向上移动一行
- ^(即Shift+6):移动到当前行的开头处
- $(即Shift+4):移动到当前行的结尾处
- H(大写):使光标移动到屏幕的顶部
- M(大写):使光标移动到屏幕的中间
- L(大写):使光标移动到屏幕的底部
- Ctrl+b:上滚一屏。
- Ctrl+f:下滚一屏。
- Ctrl+d:下滚半屏。
- Ctrl+u: 上滚半屏。
4、撤消更改
(1)撤消前一个命令:在最后一个命令之后立即输入u来撤消该命令
(2)重复某个命令:“.”
(3)撤消对一行的更改:输入U来撤消你对一行所做的所有更改,这个命令只有在你没将光标移动到该行以外时才生效。
5、删除文本
(1)删除一个字符:
●为删除一个字符,需将光标放置在要删除的字符上并输入x
●为删除光标之前(其左边)的一个字符,需输入X
(2)删除一个词或词的部分内容:
●为删除一个词,需将光标放置到该词的开头并输入dw
●为删除词的部分内容,需将光标放置到该词要保存部分的右边。输入dw来删除该词余下的部分
(3)删除一行:将光标放置到该行的任意处并输入dd
(4)删除多行:ndd
(5)删除行的部分内容:将光标放置到该行要保存部分的右边,并输入D。为删除光标左边的所有内容,须将光标放置到该行要删除部分的右边,并输入d0(d-零)。
(6)删除到文件的结尾:为删除从当前行到文件结尾的所有内容,需输入dG
6、复制和移动文本
●复制一行命令:yy
●粘贴命令:p
●移动文本:先将要移动的部分用删除命令删除,然后再粘贴就可以了
●复制指定文件的内容 : r filename
7、查找一个字符串
●输入/,并在/后面输入要查找的串,然后按下回车
●输入“n”跳转到该串的下一个出现处
●输入“N”跳转到该串的上一个出现处
8、替换一个字符串
●在一行内替换头一个字符串old为新的字符串new :s/old/new
●在一行内替换所有的字符串old为新的字符串new :s/old/new/g
●在两行内替换所有的字符串old为新的字符串new :#,#s/old/new/g
●在文件内替换所有的字符串old为新的字符串new :%s/old/new/g
●进行全文替换时询问用户确认每个替换需添加c选项 :%s/old/new/gc
9、设置vi
●显示行号 :set number
●取消行号显示 :set nonumber
●设置显示用户模式 :set showmode
●设置文件只读 :set readonly
(转载的)
vi编辑器:命令模式、输入模式、末行模式的更多相关文章
- 『学了就忘』vim编辑器基础 — 96、末行模式中的相关命令
目录 1.在文档中显示行号 2.是否显示文档内容相关颜色 3.是否将查找的字符串高亮显示 4.是否显示右下角的状态栏 5.是否在左下角显示如"--INSERT--"之类的状态栏 6 ...
- 文本编辑器vim/vi——末行模式
指令格式: #vim 文件路径作用:打开指定的文件. 进入方式:由命令模式进入,按下“:”或者“/(表示查找)”即可进入 退出方式: a. 按下esc b. 连按2次esc键 c. 删除末行全部输入字 ...
- 常用vi编辑器命令行
游标控制: h 游标向左移 j 游标向下移 k 游标向上移 l(or spacebar) 游标向右移 w 向前移动一个单词 b 向后移动一个单词 e 向前移动一个单词,且游标指向单词的末尾 ( 移到当 ...
- vi 替换命令 以及“找不到模式”解决
转自:https://www.cnblogs.com/zfyouxi/p/5181363.html 在linux vi编辑工具中使用替换命令操作时,会出现明明有匹配查找模式的数据.却报“找不到模式”问 ...
- vi 编辑器命令 (share)
转自:http://man.ddvip.com/soft/vieditor/vi.html 一.Unix编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件.Uni ...
- vi编辑器命令
Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能.v ...
- 常用vi编辑器命令
对于VI的命令行,不需要特意的去记忆,写下来,让要用到的时候能找到就行 游标控制 h 游标向左移 j 游标向下移 k 游标向上移 l (or spacebar) 游标向右移 w 向前移动一个单词 b ...
- linux vi 编辑器命令
游标控制 h 游标向左移 j 游标向下移 k 游标向上移 l (or spacebar) 游标向右移 w 向前移动一个单词 b 向后移动一个单词 e 向前移动一个单词,且游标指向单词的末尾 ( 移到当 ...
- 【Linux】vi编辑器命令
1)进入vi的命令 vi filename : 打开或新建文件,并将光标置于第一行首 vi +n filename : 打开文件,并将光标置于第n行首 ...
随机推荐
- 目标检测之R-FCN
R-FCN:Object Detection via Region-based Fully Convolutional Networks R-FCN的网络结构 一个Base的convolutional ...
- Keras网络层之常用层Core
常用层 常用层对应于core模块,core内部定义了一系列常用的网络层,包括全连接.激活层等 Dense层 keras.layers.core.Dense(units, activation=None ...
- WebService SOAP WSDL UDDI 使用php的curl、PHP5的SoapClient实现同步
一.基本名词 WebService: WebService是一种跨编程语言和跨操作系统平台的远程调用技术.不同系统,不同语言的数据交换方法都是不同的,这就导致在不同系统,不同语言之间传递数据很麻烦,基 ...
- IO阻塞模型 非阻塞模型
IO阻塞模型(blocking IO) 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 所以,blocking IO的特点就是在IO执行的两 ...
- Python 中全局变量的实现
一.概述 Python 中全局变量的使用场景不多,但偶尔也有用武之处. 如在函数中的初始化,有时需要从外部传入一个全局变量加以控制.或者在函数中,使用连接池时,也可能有使用全局变量的需要. 广义上的全 ...
- gc摘要
1. Sun JDK 1.6 GC(Garbage Collector) http://bluedavy.com2010-05-13 V0.2 2010-05-19 V0.52010-06-01 V0 ...
- 自动回复之实现随机回复与常用Mapper XML标签
[常用Mapper XML标签] 1.基本的:select.insert.update 等 2.可读性.方便拼SQL:where.set.trim 3.减少重复:sql 4.逻辑控制:if.choos ...
- Python3.x:百分比数转小数
Python3.x:百分比数转小数 def change_percent(num): zfflag = "" if "+" in num: num = num. ...
- Keepalived + Mysql 主主复制高可用
环境 系统:Centos 7.4 x64 服务:Mariadb 5.5 .Keepalived 1.3.5.6 结构 主1:192.168.1.108 主2:192.168.1.109 VIP:19 ...
- 20145219 《Java程序设计》实验四 Android开发基础设计实验报告
20145219 <Java程序设计>实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello ...