Vi有三种基本的工作模式:指令行模式、文本输入模式、行末模式。他们的相互关系如所示。
指令模式(Command Mode) 下输入  a、i、o进入文本输入模式(Input Mode)
文本输入模式(Input Mode) 下按ESC进入指令模式(Command Mode)

指令模式(Command Mode)下输入:进入末行模式(Last line Mode)
末行模式(Last line Mode)下指令错误则返回指令模式(Command Mode)
下面分别介绍这三种模式

1、指令模式(Command Mode)
指令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义。
0  -----光标移动至行首
h  -----光标左移一格
l  -----光标右移一格
j  -----光标下移一行
k  -----光标上移一行
$+A-----将光标移动到该行最后
PageDn ----- 向下移动一页
PageUp ----- 向上移动一页
d+方向键 -----删除文字
dd -----删除整行
pp -----整行复制
r  -----修改光标所在的字符
S  -----删除光标所在的列,并进入输入模式

2、文本输入模式(Input Mode)
在指令模式下(Command Mode)按a/A键、i/I键、o/O键进入文本模式,文本输入模式的命令及其含义如下所示。
a -----在光标后开始插入
A -----在行尾开始插入
i -----从光标所在位置前面开始插入
I -----从光标所在列的第一个非空白字元前面开始插入
o -----在光标所在列下新增一列并进入输入模式
O -----在光标所在列上方新增一列并进入输入模式
ESC -----返回命令行模式

3、末行模式(Last line Mode)
末行模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作。主要命令如下
:q -----结束Vi程序,如果文件有过修改,先保存文件
:q! -----强制退出Vi程序
:wq  -----保存修改并退出程序
:set nu -----设置行号

VI简介---VI的三种模式相关推荐

  1. Vim编辑器的基本使用和三种模式

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 目前使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字 ...

  2. 应用负载均衡之LVS(一):基本概念和三种模式

    本文转载地址:https://www.cnblogs.com/f-ck-need-u/p/8451982.html 本文目录: 1. LVS简介 2. LVS-ipvs三种模式的工作原理 2.1 VS ...

  3. Linux之vi三种模式常用操作的学习

    1.vi的三种模式 2.切换到编辑模式的四种方式,编辑模式可以输入任意内容 a 光标向后移动一位 i  当前位置 o 另起新行 s 删除光标所在字符 r 替换光标所在字符 3.尾行模式,用于保存内容. ...

  4. vi和vim常用的三种模式

    文章目录 1. vi 和 vim 的基本介绍 2. vi 和 vim 常用的三种模式 2.1 正常模式 2.2 插入模式 2.3 命令行模式 3. vi 和 vim 基本使用 4. 各种模式的相互切换 ...

  5. linux vi/vim三种模式,保存退出,强制退出

    一.三种模式 vi/vim工具 共分为三种模式,分别是: 1.命令模式(Command mode), 2.输入模式(Insert mode) 3.底线命令模式(Last line mode). 命令模 ...

  6. Linux -- vi和vim编辑器(编写Hello.java程序,三种模式的转换,常用快捷键练习)

    文章目录 1. vi和vim编辑器 1.1 vi和vim编辑器介绍 1.2 vi和vim的三种常见模式 1.3 快速入门案例:使用`vim`开发一个`Hello.java`程序 1.3.1 建立 `H ...

  7. 编码器SRT协议三种模式(listener, caller, rendezvous)简介

    本文镜像:https://www.linkpi.cn/archives/1027 本文链接:https://blog.csdn.net/weixin_45326556/article/details/ ...

  8. mysql binlog 权限_MySQL如何开启binlog?binlog三种模式的分析

    前提,创建表t,并插入数据,语句如下: CREATE TABLE `t` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `t_modified` ...

  9. Redis集群部署的三种模式

    一.Redis简介 Redis 是一款完全开源免费.遵守BSD协议的高性能(NOSQL)的key-value数据库.它使用ANSI C语言编写,支持网络.可基于内存亦可持久化的日志型.Key-Valu ...

最新文章

  1. mac webpack 版本_晓前端周刊 第48期:EMP面向未来微前端方案正式开源了!玩转 webpack,使你的打包速度提升 90%;...
  2. 美国字节程序员吐槽:国内同事太卷了!工资买不起房,卷的意义是什么?
  3. Linux网络编程目录
  4. 通过uwsgi+nginx启动flask的python web程序
  5. 纵有倚天剑还要屠龙刀,实现Power BI报表服务器自定义认证
  6. 山东大学计算机应用基础期中测试,山东大学期末考试计算机应用基础模拟题三套题.pdf...
  7. web报表工具FineReport使用中遇到的常见报错及解决办法(三)
  8. go中的读写锁RWMutex
  9. Vmware 虚拟机远程连接失败解决办法
  10. ppt 宏文件 自动保存_让Excel表格自动排序,牛了!
  11. 《跨界杂谈》商业模式(三):黑帮
  12. 光通信仿真软件Optisystem 15.0 学习版
  13. java课程设计学生信息管理系统。
  14. python网课答案查询_网课答案查询助手v1.0 官方版
  15. php实时聊天源码 仿手机QQ,php加swoole加mysql 仿webqq及时聊天
  16. gif动图怎么制作?手把手教你视频转gif动图
  17. 5、Shader如何启用SPR Batcher支持
  18. 3dmax和python做3d动画_maya三维动画师和程序员(python)哪个前景好一些?
  19. 高级程序员到底长什么样子?
  20. Android BottomSheetDialog使用,实现网易云歌单底部弹窗

热门文章

  1. 亚商投资顾问 早餐FM/0111汽车芯片酝酿涨价
  2. mysql登录失败5次锁定300秒_django 实现登录时候输入密码错误5次锁定用户十分钟...
  3. J-link下载出现Verification of RAMCode failed @ address 0x20000000问题的解决
  4. BASE函数,你知道怎么用吗?
  5. 软件外包公司工作好不好,以下情况可考虑
  6. Vue常见报错及解决方案
  7. 解决 Error type 3 问题
  8. .ACCDB格式文件导入到Oracle
  9. webSocket整理(二)--webSocket的模拟qq聊天案例
  10. 牛客竞赛每日俩题 - 动态规划2