Linux 中 Vi 编辑器的简单操作
Linux 中 Vi 编辑器的简单操作
Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式。3种模式彼此需要切换。
一、进入 Vi 编辑器的的命令
vi filename //打开或新建文件,并将光标置于第一行首
vi +n filename //打开文件,并将光标置于第n行首
vi + filename //打开文件,并将光标置于最后一行首
vi +/pattern filename //打开文件,并将光标置于第一个与 pattern 匹配处
vi -r filename //在上次使用 vi 编辑时发生系统崩溃,恢复 filename
二、Vi 3种模式的切换
一)、从命令模式到编辑模式
在命令模式下按以下命令将进入到编辑模式
1、a 在光标后进入编辑模式
2、i 在光标前进入编辑模式
3、A 在当前行尾进入编辑模式
4、I 在当前行首进入编辑模式
5、o 在当前行之下新开一行
6、O 在当前行之上新开一行
7、s 删除光标所对应的字符,进入编辑模式
8、ns //删除 n 个字符后进入编辑模式
9、S 删除光标所在的行,然后进入编辑模式
10、nS //删除 n 行后,进入编辑模式
三、命令模式下的操作
一)、光标的移动
1、j 光标向下移动一行
2、k 光标向上移动一行
3、h 光标向左移动一个字符
4、l 光标向右移动一个字符
5、ctrl + b //光标向上移动一屏,向后翻页
6、ctrl + f //光标向下移动一屏,向前翻页
7、$ //光标移动至行尾
8、0(数字) //光标移动至行首
9、gg //光标移动至文档开始处
10、G //光标移动至文档尾部
11、nG //光标移动到第 n 行
12、w //移动到下个单词的首字母
13、b //移动到本单词或者上个单词的首字母
14、e //移动到本单词或者下个单词的尾字母
15、{ //光标移动到段落首部
16、} //光标移动到段落尾部
17、L //光标移动到当前屏幕尾部(不会走到下一屏)
18、H //光标移动到当前屏幕首部
19、M //光标移动至当前屏幕中间行
20、space //光标向前移动一个字符
21、Backspace //光标向后移动一个字符
22、n+ //光标下移 n 行
23、n- //光标上移 n 行
24、n$ //光标移动至第 n 行尾
二)、文本内容的删除
1、x //删除光标所在位置的一个字符
2、nx //删除光标所在位置起 n个字符
3、dx //从当前字符删除到下个单词前,包括空格
4、ndx //从当前字符(单词)起,删除n个单词,包括最后一个空格后面的空格
5、dd //删除当前行
6、ndd //删除当前行起向下 n 行
7、J //删除光标所在行与下一行之间的空格,把光标行和下一行接在一起
通用删除:d+光标移动距离
8、d$ //删除光标到行尾的内容
9、d0 //删除光标到行首的内容
10、d} //删除从光标到段落尾部的内容
11、d{ //删除从光标到段落首部的内容
12、dL //删除当前行至屏幕尾部的内容
13、dH //删除当前行至屏幕首部的内容
14、dG //删除当前行至文档尾部的内容
15、d1G //删除当前行至文档首部的内容
16、dnG //删除当前行至文档的第 n 行
三)、文本内容的复制与粘帖
1、yy 复制当前行
2、nyy 复制从当前行开始向下的n行
3、y+光标移动的距离,可以进行灵活复制 (可以参考删除命令)
3、p 在光标之后粘贴(光标当前行的下一行进行粘贴)
4、P(大写) 在光标之前粘贴
三)、其他命令模式下的操作
1、u //撤销修改或删除操作
2、r+字符 //对光标当前单个字符进行替换
3、R //替换当前字符及其后的字符,直至按 ESC 键
3、. //重复执行上个命令
四、尾行模式下的操作
一)、文件的保存与退出
1、:w //保存
2、:w filename //另存为到 filename 文件
3、:wq //保存退出
4、:q //退出
5、:wq! //强制保存退出
6、:q! //不保存强制退出
7、:x //保存并退出 ,应该和 wq! 功能一样
二)、查找与替换
1)、/search 正向查找字符串 search,按 n 键查找下一个,按 N 键查找上一个
2)、?search 反向查找字符串 search
3)、s /search/replace 替换当前行首次出现的 search
4)、s /search/replace/g 把当前光标所在行中的 search 替换成 replace,并把文档中其余的 search 高亮显示
5)、%s /search/replace 把文档中所有的 search 替换成 replace
6)、m,n s /search/replace/g 把文档中从第m行到第n行中的 search 替换成 replace ,将把文档中其余的 search 高亮显示
三)、尾行模式下的文本编辑(复制,删除)
1)、n1,n2 co n3 //将 n1 行到 n2 行的内容复制到 n3 行下
2)、n1,n2 m n3 //将 n1 行到 n2 行的内容移动至 n3 行下
3)、n1,n2 d //将 n1 行到 n2 行之间的内容删除
:set nu/number //给文件每行内容设置编号
:set nonu/nonumber //取消设置编号
:n 光标跳转到第 n 行位置
五、编辑模式下的操作
1、ctrl+u //删除编辑模式下输入的文本内容
Linux 中 Vi 编辑器的简单操作的更多相关文章
- Linux中vi编辑器的使用详解
vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...
- linux中vi编辑器的使用
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本 编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任 何版本,vi编辑器是完 ...
- linux中vi编辑器
vi编辑器,通常称之为vi,是一种广泛存在于各种UNIX和Linux系 统中的文本编辑程序.它的功能十分强大,但是命令繁多,不容易掌握,它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户 ...
- linux中vi编辑器(转载)
三种模式相互切换 在命令终端输入vi进入vi编辑器. 命令模式:进入编辑器即进入命令模式, 输入模式:在命令模式下输入“i ”进入输入模式: 末行模式:按“:”进入末行模式: 在输入模式切换至末行模式 ...
- Linux中vi编辑器的用法
实验一: vi编辑器的模式切换 1. 实验目标:熟练掌握vi编辑器的三种模式间切换及其特点 2. 实验操作步骤: 步骤一: 进入vi编辑器即命令模式 进入vi编辑器可以在命令终 ...
- linux中VI编辑器使用个人记录
VI编辑器有三种编辑模式:命令模式.最后行模式.文本编辑模式 启动VI后进入的第一种模式是”命令模式“.从命令模式可进入最后行模式和编辑模式.而后两种模式之间不能直接切换.必须按ESC键退回到命令模式 ...
- linux中vi编辑器没有颜色
vi是没有颜色的,vim是有颜色的.可是系统中没有安装vim. 我们可以通过 rpm -qa |grep vim 看看系统中是否安装了下面3个rpm包,如果有就是安装了vim. 点击(此处)折叠或打开 ...
- linux中Vi编辑器使用
1.如需要编辑aaa.txt文件: vi aaa.txt 就可以进入到 aaa.txt文件中, 输入 i 进入到编辑模式, 按 Esc 退出编辑模式 , :wq 保存退出编辑模式 ...
- Linux下vi编辑器粘贴复制剪切功能
RedHat 9.0 Linux下vi编辑器实现简单的粘贴复制剪切功能": 如果想把文件内的第三行内容黏贴到第十五行: 1.进入你的文件,(处于命令模式,而不是编辑模式) 2.将你的光标移到 ...
随机推荐
- c++学习--面向对象一
类与对象一 一 注意的点 1 利用构造函数给数据成员初始化的两种办法:1 赋值语句,2 用成员初始化列表 解释:1 成员初始化列表的一般形式为: 数据成员名1(初始值1),数据成员名2(初始值2) 2 ...
- 转载:最近有两款路由器D-link , Tenda分别被爆出固件中存在后门
最近有两款路由器分别被爆出固件中存在后门. D-link D-link是台湾公司,成立于1986年,『公司致力于高级网络.宽带.数字.语音和数据通信解决方案的设计.制造和营销,是业界的全球领导者』(官 ...
- Windows WMIC命令使用详解
本文转载出处http://www.jb51.net/article/49987.htm www.makaidong.com/博客园文/32743.shtml wmic alias list brief ...
- 杭电acm 1003
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> usin ...
- icePDF去水印方法
原文:http://www.cnblogs.com/pcheng/p/5711660.html 1.首先下载到icepdf的架包. 2.用解压缩软件,对该jar文件进行解压,得到名为icepdf-co ...
- 数据库的NULL值讨论
有许多关于数据库设计中NULL的讨论,我个人的设计习惯是,不使用NULL值. 我所设计所有表都是Not Null的字段的,尤其是我主要做数据仓库的表设计.刚开始使用数据库时,就栽了一次.一个Group ...
- phpwind ecshop 用户整合
phpwind ecshop 用户整合,其实很简单.但在网上搜到的尽是乱七八遭的方法,搞得很复杂. 原来公司做的phpwind 与 ecshop 结合的项目,别的同事已经把用户整合好了,当时我还不知道 ...
- Postgresql-xl 调研
Postgresql-xl 调研 来历 这个项目的背后是一家叫做stormDB的公司.整个代买基于postgres-xc.开源版本应该是stormdb的一个分支. In 2010, NTT's Ope ...
- spring代理模式 service远程调用,插件执行
最近,研究了一下平台远程调用的过程,和service层插件执行的原理,记录一下. 1.远程service调用过程 首先看一下类的继承结构 封装调用处理过程 封装service调用接口 封装servic ...
- tomcat gzip compression not working for large js files
solution 1: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout=&quo ...