vi和vim的区别

  编辑一个文本时,vi不会显示颜色,而vim会显示颜色,vi 有点类似windows记事本,简单,那么就是vim复杂编辑器,功能复杂,高亮,自动缩进(写shell/python脚本用)。显示颜色更易于用户进行编辑。没有的话可以用 yum install -y vim-enhanced   

  vim的三种模式:一般模式、编辑模式、命令模式。

  1. 一般模式: 当你vim filename 编辑一个文件时,一进入该文件就是一般模式了。在这个模式下,你可以做的操作有,上下移动光标;删除某个字符;删除某行;复制、粘贴一行或者多行。
  2. 编辑模式:一般模式下,是不可以修改某一个字符的,只能到编辑模式了。从一般模式进入编辑模式,只需你按一个键即可(i, I, a, A, o, O, r, R)。当进入编辑模式时,会在屏幕的最下一行出现揑NSERT或REPLACE的字样。从编辑模式回到一般模式只需要按一下键盘左上方的ESC键即可。
  3. 命令模式:在一般模式下,输入 ”:” 或者 “/” 即可进入命令模式。在该模式下,你可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等等。

  如何在一个空白文档中写入一段文字,然后保存。

  输入vim fade.txt直接回车进入一般模式。然后按 “i” 字母进入编辑模式,在窗口的左下角会显示 “– 插入 –” 或者 “– INSERT –” 这说明进入插入模式,可以编辑文档。

[root@wen data]# vim fade.txt

  如果你编辑完了,想保存的话,需要先按一下键盘左上角的 “Esc” 键,此时 “– 插入 –” 或者 “– INSERT –” 消失,然后输入 ”:wq” 回车就会保存刚才的文字了。

I am learning linux
linux is like a young married woman
the most interest thing is conquer her
times won't be too long
:wq

  这时,看一下fade.txt文档的内容吧:

[root@wen data]# cat fade.txt
I am learning linux
linux is like a young married woman
the most interest thing is conquer her
times won't be too long

  “vim” 为全键盘操作的编辑器,所以在各个模式下都有很多功能键。

  快捷键总结


问题与练习

1. vi 与 vim 有什么区别呢,它们之间有什么关系?
  答:vi是早期unix自带的文本编辑器,没有颜色区别,不便于程序员做开发
      vim是1991年布莱姆.米勒从vi的基础升级而发布的,人性化,带有颜色区别。
      vim跟vi的关系:可以这样理解vim是vi的升级版本

2. 如何查看当前系统vim的版本?
  答:可以用命令:rpm -qa |grep vim   或者 vim --version

3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?
  全部替换:

  1. :1,$s/abc/def/g

  只替换每行中第一个出现的abc:

  1. :1,$s/abc/def

4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?
  答:两种情况:1、 /关键词         光标定位到最顶端出现的关键词
               2、?关键词         光标定位到最底端出现的关键词
      如果想从当前关键词移动到下一个关键词: /关键词,回车,按小写字母n
      如果想从当前关键词移动到上一个关键词:  ?关键词,回车,按小写字母n
      ?关键词,回车:如果光标所在行上面没有关键字的话 光标会移动到上一行或者上面最近的一行带有关键词上
      /关键词,回车:如果光标所在行上面没有关键字的话 光标会移动到下一行或者下面最近的一行带有关键词上
     ?关键词,回车;/关键词,回车:如果光标所在行上面有 关键字的话 光标在改行的关键词上

5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x  会怎么样?
  答:会保存退出,相当于:wq

6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?
  答:快速向右移动10个字符:10l
       快速向左移动10个字符:10h

7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?
  答:vim + filename 表示:打开该文档且光标移动到该文档末行;
       vim +10 filename表示:打开该文档且光标移动到第十行

8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?
  答:让光标移动到第20行: 20G
       让光标移动到最后一行:G

9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?
  答:可以输入:  :set nu

10. vim打开文档后,我想把20-50行中的第一个'abc' 替换为 'efg' 怎么操作?如果是想替换所有呢?
  答:替换第一个abc:   :20,50s/abc/efg
       替换所有abc:      :20,50s/abc/efg/g

11. vim打开文档后,如何快速删除前100行?
  答:快速删除100行:  100dd

12. vim打开文档后,如何复制一行,并粘贴到第20行的后面?
  答:用命令: yy 复制需要复制的那行,然后输入 "20G"指定到第20行,最后按小写字母“P”粘贴即可。

                                                            参考链接http://www.apelearn.com/study_v2/

10.18.1 linux文本编辑器vim的更多相关文章

  1. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  2. Linux文本编辑器vim

    目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...

  3. Linux 文本编辑器 vim

    第五讲 文本编辑器 vim

  4. linux文本编辑器vim大全

    linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual  Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...

  5. Linux | 文本编辑器vim

    vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...

  6. linux文本编辑器-VIM基本使用方法

    vim [OPTION]... FILE... +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首vim + file 直接打开file,光标在最后一行 三种主要模式 ...

  7. linux文本编辑器vim详解

    vim 1.打开文件 vim [option] - file... 打开文件 +# 打开文件后,让光标处于第#行的行首 +/字符串 打开文件后,光标处于第一个被匹配到字符串的行首 -b file 二进 ...

  8. linux 文本编辑器 vim 基本操作

    三种模式之间转换: 一般模式 可用于光标移动.复制粘贴.查找替换 "vim.txt"表示文件名 8L 表示8行 , 80C 表示80个字符 移动光标常用操作: h .j. k. l ...

  9. Linux文本编辑器Vim使用

    1. 插入 o 在光标下插入新行 a 在光标后插入 i         在光标前插入 O 在光标上一行插入新行 A 在光标行尾插入 I 在光标行首插入 2.光标定位 gg 到第一行行首 G 到最后一行 ...

随机推荐

  1. 121、TensorFlow张量命名

    # tf.Graph对象定义了一个命名空间对于它自身包含的tf.Operation对象 # TensorFlow自动选择一个独一无二的名字,对于数据流图中的每一个操作 # 但是给操作添加一个描述性的名 ...

  2. unittest测试框架生成可视化测试报告-BeautifulReport

    生成报告的样式: 在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoader是用来加载Test ...

  3. Microsoft Azure_Fabric

    目录 目录 前言 Microsoft Azure Microsoft Azure Fabric Controller 前言 WindowsAzure是相对于全球版Microsoft Azure而言的中 ...

  4. jmeter3.0+ant1.10+jenkins实现接口自动化并发送邮件

    有很多关于接口自动化的文章,此篇仅用于记录自己的学习用.使用jmeter3.0+ant1.10+jenkins2.实现接口自动化并发送邮件,本篇是用的编写build文件来实现发送邮件,也可以用jenk ...

  5. Vagrant 手册之同步目录 - VirtualBox

    原文地址 如果你使用的 provider 是 VirtualBox,那么 VirtualBox 同步目录就是默认的同步目录类型.这些同步目录使用 VirtualBox 的共享目录系统来同步客户机跟宿主 ...

  6. Vue过渡:用Velocity实现JavaScript钩子

    Velocity is an animation engine with a similar API to jQuery's $.animate(). It has no dependencies, ...

  7. Unity3D移动端电量与wifi信号的获取

    移动端游戏中无法看到电量与wifi信号对于玩家来说是很困扰的事. 关于这个问题安卓与iOS有不同的方法 电量 安卓 安卓获取电量有两种方法,一种是读取安卓手机里的一个文件,一种是利用安卓与Unity互 ...

  8. C++学习笔记(三)--数组、字符串

    1.数组,C++中不允许数组的下标值为变量,只能是常量或者常量表达式,必须先定义后使用.数组赋初值几种常见方式: int a[] = {1,2,3,4,5}: int a[4] = {2,1,3,4} ...

  9. python学习那点事---pycharm使用弹框问题如何解决

    学习python的目标:年后可以找一份不错的维护工作. 2019.11.4日是第一天开始学习python,从开始安装python3.6版本和pycharm开始.安装python版本非常顺利的就完成了, ...

  10. 《JAVA设计模式》之组合模式(Composite)

    在阎宏博士的<JAVA与模式>一书中开头是这样描述合成(Composite)模式的: 合成模式属于对象的结构模式,有时又叫做“部分——整体”模式.合成模式将对象组织到树结构中,可以用来描述 ...