我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux中的vi与vim的区别有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux中的vi与vim的区别有哪些

本篇内容介绍了“linux中的vi与vim的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

区别:1、vi中按u只能撤消上次命令,而vim中可以无限制的撤消命令;2、vi只能运行于unix中,而vim可以运行于多种操作平台;3、vim中有语法加亮功能,vi中没有;4、vi支持3个模式,而vim支持4个模式等。

本教程操作环境:CentOS 6系统、Dell G3电脑。

VI与VIM区别

它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

vim的这些优势主要体现在以下几个方面:

多级撤消

我们知道在vi里,按u只能撤消上次命令,而在vim里可以无限制的撤消。

易用性

vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

语法加亮

vim可以用不同的颜色来加亮你的代码。

可视化操作

就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。

对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中的vi与vim的区别有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux中的vi与vim的区别有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux中的vi与vim的区别有哪些

本篇内容介绍了“linux中的vi与vim的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!区别:1、vi中按u只能撤消上次命令,而
2023-06-25

linux中vi和cat的区别有哪些

本篇内容主要讲解“linux中vi和cat的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中vi和cat的区别有哪些”吧!vi和cat的区别:1、cat是一个文本打印的命令,
2023-06-30

vi/vim的使用技巧有哪些

这篇文章主要介绍“vi/vim的使用技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vi/vim的使用技巧有哪些”文章能帮助大家解决问题。常用命令编辑以下命令在命令模式执行i,a,r:在光标
2023-06-28

linux中FTP与sftp的区别有哪些

这篇文章主要介绍“linux中FTP与sftp的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux中FTP与sftp的区别有哪些”文章能帮助大家解决问题。区别:1、链接方式不同,FT
2023-06-29

gnu与linux的区别有哪些

这篇文章主要讲解了“gnu与linux的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“gnu与linux的区别有哪些”吧!“gnu/linux”与linux的区别:1、“gnu/l
2023-07-02

linux与dos的区别有哪些

这篇文章主要介绍“linux与dos的区别有哪些”,在日常操作中,相信很多人在linux与dos的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux与dos的区别有哪些”的疑惑有所帮助!接下来
2023-06-22

linux与rtos有哪些区别

这篇“linux与rtos有哪些区别”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux与rtos有哪些区别”文章吧。l
2023-06-30

linux与wince有哪些区别

今天小编给大家分享一下linux与wince有哪些区别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。区别:1、linux的开
2023-06-30

PHP7中的?与??有哪些区别

这篇文章将为大家详细讲解有关PHP7中的?与??有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext P
2023-06-14

Linux中进程与作业的区别有哪些

这篇文章主要为大家展示了“Linux中进程与作业的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中进程与作业的区别有哪些”这篇文章吧。进程是什么?作业又是什么?在Linux系
2023-06-16

linux中进程与程序的区别有哪些

这篇文章主要介绍“linux中进程与程序的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux中进程与程序的区别有哪些”文章能帮助大家解决问题。linux中进程与程序的区别:1、程序是
2023-07-02

css中link与import的区别有哪些

这篇“css中link与import的区别有哪些”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“css中link与import的区别有哪些”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的
2023-06-06

Django中FBV与CBV的区别有哪些

本文章向大家介绍Django中FBV与CBV的区别有哪些,主要包括Django中FBV与CBV的区别有哪些的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。FBV我们通过函数传入的request
2023-06-06

golang中堆与栈的区别有哪些

本篇内容介绍了“golang中堆与栈的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!堆与栈的区别:1、堆是用于存放进程执行中被动态
2023-07-05

bat中errorlevel与%errorlevel%的区别有哪些

这篇文章将为大家详细讲解有关bat中errorlevel与%errorlevel%的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。他们都是判断上个命令的返回值。当使用if errorlevel
2023-06-08

编程热搜

目录