文档章节

vi编辑器

晓阳
 晓阳
发布于 2014/11/13 13:56
字数 806
阅读 19
收藏 0
点赞 0
评论 1

启动vi vi [文件路径]

退出vi编辑模式(保存并退出) :wq [新文件名,如果是编辑的新文件的话]

退出vi编辑模式(仅当修改了当前编辑内容,才做保存) :ZZ 和 :x

退出vi编辑模式(不保存退出) :q!

从编辑模式退出到命令模式 ESC

命令状态下,进入文本输入模式 i(在当前光标覆盖的字符前面插入),I(在当前行之首插入字符)

命令状态下,进入文本附加模式 a(在当前光标覆盖的字符后面插入),A(在当前行之尾插入字符)

命令状态下,进入文本打开新行模式 o (在当前行的下面打开一个新行,并且在新行进行插入字符),O(在当前行的上面打开一个新行,并且在新行进行插入字符)

命令状态下,进入移动光标模式 键盘上的上下左右,键盘上的h,j,k,l四个键,还有空格,退格,Ctrl+N,Ctrl+P,都可以进行光标的上下左右移动

命令状态下,进入打开编辑多个文件模式 vi [文件路径1] [文件路径2],打开之后只会看到第一个文件的内容,如果想看到第二个文件,按ESC,然后输入转义命令:next,就会看到第二个文件,如果想看到前一个文件就输入:prev

命令状态下,进入同时编辑多个文件模式 大致同上,只是在上面vi的后面加一个 -o

命令状态下,进入文本替换模式 r(r了之后输入要替换的字符)

命令状态下,进入文本删除模式 x(删除当前字符),dd(删除当前行)

命令状态下,进入文本查找模式 ?[要查找的字符串]再回车,如果有多处被查找到,使用n和N可以进行来回查看

命令状态下,进入文本复制模式 yw(复制一个单词),y$(复制光标到行尾),yy或Y(复制整行)

命令状态下,进入文本粘贴模式 p(粘贴到当前光标的后面)

命令状态下,进入文本剪切模式 vi中的每一次删除动作都是剪切,将删除掉内容剪切到剪切板

命令状态下,进入文本复写模式 进入文本输入模式并且插入一段字符串之后,按ESC退回命令模式,再点".",系统就会自动进行你刚才的插入动作

命令状态下,进入文本撤销模式 比如,当你刚刚删除了一行之后,想要恢复删除的一行,就按u,恢复一次操作。

转义状态下,使光标移动到指定行的行首或指定位置 命令方式下,输入:20,就是将光标移动到20行的行首。如果想移动到指定字符串所在行,就输入“: /[字符串]”,就能找到该字符串所在行,如果有多处,可以按n进行切换位置。

© 著作权归作者所有

共有 人打赏支持
晓阳
粉丝 9
博文 69
码字总数 52360
作品 0
徐汇
程序员
加载中

评论(1)

晓阳
晓阳
http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/android-platform-sdk-download-mirror.html#pwd

暂无相关文章

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

两者最大的区别是,Java8的DateTimeFormatter也是线程安全的,而SimpleDateFormat并不是线程安全。 在并发环境下使用SimpleDateFormat 为了能够在多线程环境下使用SimpleDateFormat,有这三种...

人觉非常君 ⋅ 今天 ⋅ 0

多线程如何控制执行顺序

线程的生命周期说明: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、...

MarinJ_Shao ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Django第一期

安装Django 去https://www.djangoproject.com/download/ 下载最新版的Django,然后解压放到Anaconda\Lib\site-packages目录下,然后cmd进入此目录,输入安装命令: python setup.py install ...

大不了敲一辈子代码 ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部