VI与VIM区别

它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:
1、多级撤消
我们知道在vi里,按u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。
vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi适用于文本编辑,但是vim更适用于coding。
VI模式
vi有3个模式:命令行模式 (command mode/一般模式)、文本输入模式 (input mode/编辑模式)、末行模式 (last line mode/指令列命令模式)。
  • 命令行模式 (command mode/一般模式)
    任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。
      在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。
  • 文本输入模式 (input mode/编辑模式)
    在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按”ESC”键即可。
  • 末行模式 (last line mode/指令列命令模式)
    末行模式也称ex转义模式。
      Vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。在Vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。Vi有一个专门的“转义”命令,可访问很多面向行的Ex命令。
      在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。
VIM模式
vim一共有4个模式:
  • 正常模式 (Normal-mode)
  • 插入模式 (Insert-mode)
  • 命令模式 (Command-mode)
  • 可视模式 (Visual-mode)
正常模式
启动vim后默认处于正常模式。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。
插入模式
在正常模式中按下i, I, a, A等键,会进入插入模式。
现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。
命令模式
在正常模式中,按下:(英文冒号)键,会进入命令模式。
在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。
常用的命令有:q(退出)、q!(强制退出)、w(保存)、wq(保存并退出)。
可视模式
在正常模式中按下v, V, <Ctrl>+v,可以进入可视模式。
可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。

重庆思庄Linux技术分享- linux vi与vim的区别相关推荐

  1. [重庆思庄每日技术分享]-oracle11g到ORACLE 816的dblink访问报 ORA-03150错误

    select * from dual@dblink_816; ORA-03150: end-of-file on communication channel for database link ORA ...

  2. [重庆思庄每日技术分享]-ORACLE升级补丁查询

    工作当中有时候想查看一下数据库的具体版本号,这里简单整理了一下,可以通过:dba_server_registry.dba_registry_history.product_component_vers ...

  3. [重庆思庄每日技术分享]-oracle 12c透明加密

    1.查找WALLET的目录 sql>CT WRL_TYPE,WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET; FILE     ...

  4. [重庆思庄每日技术分享]-Windows手动离线安装netframework3.5

    在安装sqlserver时发现Windows系统没有安装netframe3.5,通过下面步骤进行手动安装 1.下载NetFx3.cab 2.将文件放在c:\windows文件夹下 3.通过命令安装 d ...

  5. 重庆思庄oracle技术分享-[INS-13001]环境不满足最低要求

    如在win10环境下安装Oracle 11g时,在安装点击setup.exe之后,出现了:[INS-13001]环境不满足最低要求 原因: 版本注册的问题,默认Oracle 11没有添加win10的注 ...

  6. 重庆思庄oracle技术分享- 数据库用户登陆过期,如何修改登陆时限

    在Oracle数据库中,可以通过修改用户的密码过期时间来修改用户的登陆时限.以下是在Oracle数据库中修改用户登陆时限的步骤: 1.以系统管理员身份登录到Oracle数据库. sqlplus /no ...

  7. Linux系统下vi和vim的区别

    Linux系统下vi和vim的区别 简单来说,vi是老式的字处理器,vim是在vi的基础上发展出来的一个文本编辑器,目前,我们使用较多的是vim编辑器.vim编辑器具有程序编辑的能力,可以主动的以字体 ...

  8. 【Linux】Linux简单操作之vi与vim编辑器

    一.vi与vim的区别 vi类似于普通的记事本,没有字体颜色的变化,vim对一些关键字会进行变色处理 二.vi 1.启动vi编辑器 格式: vi 文件名 注: (1)如果文件存在,则打开该文件 (2) ...

  9. Vi和Vim的区别和联系

    我们知道,Vi 编辑器是 Unix 系统最初的编辑器.它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行.在文件中移动.插入.编辑和替换文本. 尽管 Vi 可能是世界上复杂的编辑器(讨厌它的人 ...

最新文章

  1. 北航c语言简答题目汇总_2020下半年至2021年【化学/计算机/生物类】国际竞赛汇总!...
  2. cacti监控下添加对磁盘io的监控方法(Linux主机和Windows主机)
  3. MVC 支持同名路由,不同命名空间
  4. 以太坊地址算法php,以太坊ETH源码分析(1):地址生成过程
  5. springer journal recommendation tool
  6. 腾讯机器狗,站起来了!
  7. 了解JavaScript中的prototype (实例)
  8. Vue 3 正式发布
  9. TFS 2017 持续集成速记
  10. 《WF编程》系列之15 - 顺序工作流与SequenceActivity 3 顺序工作流
  11. AlphaGo实力远超对手
  12. 全面理解ADMM算法
  13. 蓝桥杯省赛 2021 杨辉三角形 python
  14. c语言freeimage库文件,FreeImage使用方法amp;FreeImage Tutorial
  15. 计算机网络可以划分几个阶段,计算机网络的发展可以划分为几个阶段.doc
  16. css 魔方,css 3d旋转魔方
  17. 数据结构-指针和结构体
  18. 计算机网络水晶头闪,网线水晶头坏了怎么办 小妙招一分钟解决你的问题
  19. aho-corasick php,Aho-Corasick自动机浅析
  20. JavaScript throw 语句

热门文章

  1. MyBatisPlus XML 自定义分页
  2. 树莓派人脸识别打卡系统(python pyqt opencv)
  3. C语言计算1~100之间的所有7的倍数之和
  4. Android Tips
  5. SAP FICO成本中心费用分配与分摊的区别
  6. 使用Arduino Leonardo开发板制作操纵杆游戏控制器
  7. TomcatHttp协议
  8. java计算机毕业设计企业人事管理系统源程序+mysql+系统+lw文档+远程调试
  9. 【大数据】AI、IoT、区块链这些技术与大数据融合,大数据基础软件干货不容错过
  10. layui 隐藏表头不生效