Linux系统下vi和vim的区别

简单来说,vi是老式的字处理器,vim是在vi的基础上发展出来的一个文本编辑器,目前,我们使用较多的是vim编辑器。vim编辑器具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
vi/vim有三种模式:
命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。
vim的相关功能如下图所示:


详细可以参考:
https://blog.csdn.net/helloxiaozhe/article/details/81112850

Linux系统下vi和vim的区别相关推荐

  1. Linux系统中VI或VIM输入时小键盘无法使用

    Linux系统中VI或VIM输入时小键盘无法使用 问题描述 在使用Xshell.Webshell或者PuTTY连接Linux服务器时经常会用到VIM对文件进行编辑.这是就会发现,小键盘无法使用.想输入 ...

  2. [转]Linux系统下yum和apt-get的区别

    一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等  2.Debian系列:Debian.Ubuntu等 RedHat 系列  1 常见的安 ...

  3. Linux初级篇——vi和vim的区别

    文章目录 ==什么是vim???== vim的这些优势主要体现在以下几个方面: 多级撤消 易用性 语法==加亮== 可视化操作 对vi的完全`兼容` vi有3个模式:插入模式.命令模式.低行模式. 命 ...

  4. 【Linux】【开发环境】【RHEL】开发环境搭建系列之十一——Linux系统下搭建基于vim的C/C++ IDE开发环境

    环境 vim:8.2 RedHat:Red Hat Enterprise Linux Server release 7.7 (Maipo) plug.vim vim管理的基础 .vimrc,vim配置 ...

  5. linux系统下vi编辑文本时显示行号

    命令如下: vi ~/.vimrc 然后加入一行: set nu 最后按esc键,输入:wq退出

  6. git管理工具 linux,linux系统下使用流行的版本管理工具 Git

    前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...

  7. linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法

    vi与vim vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对 ...

  8. linux 下vi与vim区别以及vim的使用

    vi与vim vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对 ...

  9. Vi(Linux系统下的标准编辑器)学习笔记

    前言 各种操作系统都有比较友好的界面,习惯于Windows,Linux,Mac的各种操作界面的情况下,使用命令行简直太难受了 然后,为了方便对学校的hustoj进行各种加题.配spj的操作,本校的学长 ...

最新文章

  1. mysql json类型数组索引_MySQL JSON 类型数据操作
  2. linux分享一:网络设置
  3. linux sed错误sed: -e expression #1, unknown option to `s'解决办法
  4. java读取properties文件,深度集成!
  5. 一线大厂在机器学习方向的面试题(一)
  6. LeetCode Algorithm 102. 二叉树的层序遍历
  7. api签名_使用签名保护基于HTTP的API
  8. 在 CTreeCtrl 中枚举系统中的所有窗口!(I)
  9. C#:Interval Helper
  10. matplotlib中ion()和ioff()的使用
  11. HAOI2012高速公路bzoj2752 (线段树,数学)
  12. [bzoj1055][HAOI2008]玩具取名
  13. php日历排班表,如何用Word制作超精美的日历、值班表、计划表?
  14. C措辞教程第四章: 数组(8)
  15. 【蓝桥杯每日一练:小z的序列游戏-k】
  16. python标准数据类型叮叮叮
  17. 【推荐】我的FLASH情结2010——浅谈FLASH WEB GAME与创业(3)
  18. 【干货】洋葱淘elya妞:电商小白产品操盘心得,洋葱淘如何搞到种子用户
  19. 关于json对象的使用小结!
  20. 自学前端第十八天:CSS精准定位position

热门文章

  1. React使用Echarts/Ant-design-charts
  2. 小码哥IOS大神班11期 大神班
  3. 开机出现grub命令修复
  4. python画棒棒糖程序_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!...
  5. android xml定义阴影,Android 边框阴影XML怎么实现,或者说怎么实现
  6. Java设计模式-----Cglib动态代理(Cglib Proxy)
  7. python 将姓名 除姓外用*代替和手机号中间4位用****代替
  8. 基于单片机的盲人专用综合型智能水杯
  9. JavaSE_第1章 Java概述
  10. python网络设备信息自动化采集\对比