它们都是多模式编辑器,不同的是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更适合coding Vim编辑器基本上可以分为3种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令模式:可以控制光标的移动,进行文本的删除,复制等文字编辑工作;
插入模式:在这个模式下可以输入文字;
底行模式:可以保存文件或者推出Vim,同时也可以设置编程环境和一些编译工作,如列出行号.寻找字符串等;
下面这个图是三种模式的转换操作(打开文件首先进入的是命令模式)

下面是三种模式中的一些简单的操作:

命令模式:
命令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义
上、下、左、右键盘和 h、j、k、l键分别都是移动光标方面的。
  $ -------------移至行尾
  0(零)  -----移至行首
  H   ----------移至屏幕上端
  M   ----------移至屏幕中央
  L   ----------移至屏幕下端
  gg   ---------到文件第一行
  G   ----------到文件末尾
  PageDn ---------- 向下移动一页
  PageUp ---------- 向上移动一页
  d+方向键 ----------删除文字
  dd  ---------删除整行
  pp  ---------整行复制
  r  ----------修改光标所在的字符
  S  ----------删除光标所在的列,并进入输入模式
 
插入模式:
可以通过以下命令由“命令模式”进入“插入模式”
  a------------在当标后附加文本
  A------------在本行行末附加文本
  i-------------在光标前插入文本
  I-------------在本行开始插入文本
  o------------在光标下插入新行
  O-----------在光标上插入新行
  ESC--------退出“插入模式”
 
编辑模式:

编辑模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作。

  :q -----结束Vi程序,如果文件有过修改,先保存文件
  :q! -----强制退出Vi程序
  :wq -----保存修改并退出程序
  :set nu -----使文本每一行前出现行号
  :set nonu ------取消每一行前的行号
  :n ------------到第n行
vim编辑的文件恢复:
当我们使用vim编辑时,vim会在被编辑的文件的目录下建立一个.filename.swap文件,
你对filename文件的动作会被记录在.filename.swap文件中,如果你的系统因为某些
原因断线了,导致你编辑的文件还没有存储,可以从.filename.swap文件中恢复.

												

Linux学习(三)-Vi和Vim的区别的更多相关文章

  1. linux学习笔记--vi与vim编辑器

    vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...

  2. linux——vi和vim的区别

    vi 和vim 的区别   它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道 ...

  3. Linux入门:vi 和 vim

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器. 本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了! 转自:http://www.l ...

  4. Linux学习笔记3-VI 和 VIM的使用

    vi: Visual Interface vim: VI iMproved 全屏编辑器, Linux系统下最强大的两款编辑器,vi和vim,vi是Linux本身自带的一款编辑器,纯文本编辑不带任何效果 ...

  5. linux学习(3)——vim文本编辑工具

    (三) vi与vim的最大区别就是编辑一个文本vi不显示颜色,vim显示颜色. 安装: yum install -y vim-enhance Vim有三种模式 A:一般模式 上下左右光标 k j h ...

  6. vi 和vim 的区别

    它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道在vi里,按 u只能撤消上次命 ...

  7. Linux的记事本 Vi和Vim

    ⒈Vi和Vim的三种模式 ①正常模式 在正常模式下可以使用快捷键 默认进入的是正常模式 ②编辑模式(插入模式) 在该模式下可以输入内容 按下I,i,O,o,A,a,R,r等任何一个字母之后才可以进入该 ...

  8. Centos 中 vi 和vim 的区别

    它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道在vi里,按 u只能撤消上次 ...

  9. vi 和vim 的区别以及用法

    具体用法参考:http://blog.csdn.net/xuesnowce/article/details/53117352 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所 ...

随机推荐

  1. 【C++】插值函数代码分析学习

    插值函数代码分析学习,用的CImage类load图像. // Imagejoint.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #inc ...

  2. Android 屏幕适配之dimens适配

    Android 屏幕适配之dimens适配     转  https://blog.csdn.net/github_2011/article/details/72636851 在过去多个项目中一直使用 ...

  3. C之堆栈

    栈* 自动申请,自动释放* 大小固定,内存空间连续* 从栈上分配的内存叫静态内存 堆* 程序员自己申请* new/malloc* 大小取决于虚拟内存的大小,内存空间不连续* java中自动回收,C中需 ...

  4. 初始Hibernate框架

    首先我们需要先创建一个案例 构建一个Student 的实体类 private String name; private Integer age; private Integer id; 在SRC根目录 ...

  5. Docker Java程序镜像制作

    Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64. ...

  6. mysql学习笔记11_18(更新、插入和删除)

    1.初始表 mysql> select * from department; 2.修改销售部的地点为杭州 mysql> update department set address = '杭 ...

  7. PHP实现发送模板消息(微信公众号版)

    以下为开发步骤: 1.微信公众号为服务号且开通微信认证(其他类型账号不能发送) 2.ip白名单设置你的服务器ip(用于获取access_token) 3.网页授权你的域名(用于获取用户的openid) ...

  8. 【算法】矩阵填数,深度优先搜索(DFS),Pascal改C语言

    面向对象的上机实验 题目 以下列方式向 5*5 矩阵中填入数字.设数字i(1=<i<=25),则数字i+1 的坐标位置应为(E, W).(E, W)可根据下列关系由(x,y)算出: 1)( ...

  9. javascript一些实用的方法

    判断数据类型 function isType(type) { return function(obj) { return {}.toString.call(obj) == "[object ...

  10. NET中的规范标准注释-- XML注释标签讲解

    一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用. C#解析器可以把代码文件中的这些XML标记提取出来,并作进一步的处理为外部文档. 这篇文章将展示如何使用这 ...