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.将你的光标移到 ...
随机推荐
- symbol(s) not found for architecture x86_64 之 linker command failed with exit code 1 (use -v to see invocation)解决方案排查
这样的错误 ,我的解决方案是, 第一种: 查看他说在 ****.o 中,你要查看这样的关键点,然后去查看,你 项目中有没有引进这样的文件,在项目中查找,看项目中有没有,如果没有那就是没添加进来,你 ...
- jQuery-表单流程导航
前言:以前做过一个项目,里面牵涉到流程相关的业务,需要用到流程页面导航的效果,完整的工作流相关的项目以前也做过,需要用到第三方插件,当然这里记录的业务需求没这个麻烦,仅仅需要能有一个页面导航的标题栏, ...
- OnNcCalcSize改变标题栏等的高度
在创建窗口时,当收到 WM_NCCALCSIZE 消息时才指定客户区.不管什么时候,只要 Windows 想知道窗口客户区的大小,它便会发送这个消息. NCCALCSIZE_PARAMS 结构保存三个 ...
- sm4加密 解密(oc)
前几天项目用到sm4加密解密,加密为十六进制字符串,再将十六进制字符串解密.网上百度了下,sm4是密钥长度和加密明文加密密文都为16个字节十六进制数据,网上的sm4 c语言算法很容易搜到,笔者刚开始没 ...
- xml 配置文件规范 校验
背景:做的数据同步框架,数据同步种类通过xml配置文件添加.为了系统的稳定性,我们只能认为将来写这个运行配置xml的人是一个傻瓜,那么对xml格式校验就很重要. 通过dom4j,是可以完成对xml格式 ...
- NHibernate系列文章二十八:NHibernate Mapping之Auto Mapping(附程序下载)
摘要 上一篇文章介绍了Fluent NHibernate基础知识.但是,Fluent NHibernate提供了一种更方便的Mapping方法称为Auto Mapping.只需在代码中定义一些Conv ...
- java学习第16天(补充可变参数)
如果我们在写方法的时候,参数个数不明确,就应该定义可变参数. 格式: 修饰符 返回值类型 方法名(数据类型... 变量) {} 注意: A:该变量其实是一个数组名 B:如果一个方法有多个参数,并且有可 ...
- LSTM 分类器笔记及Theano实现
相关讨论 http://tieba.baidu.com/p/3960350008 基于教程http://deeplearning.net/tutorial/lstm.html LSTM基本原理http ...
- Ubuntu实现wifi热点
系统:Ubuntu14.04 方法一: 打开网络连接,新建wifi,设置SSID和密码,完成设置后保存,再连接到隐藏的wifi,选择刚建立好的连接即可 优点:简单方便 缺点:建立的是Ad-hoc模式信 ...
- vim中替换命令
在VIM中进行文本替换: 1. 替换当前行中的内容: :s/from/to/ (s即substitude) :s/from/to/ : 将当前行中的 ...