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. android:imeOptions="actionDone"

    把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案actionNone : 回车键,按下后光标到下一行actionSend : SendactionN ...

  2. Vagrant 手册之网络 - 端口转发

    原文地址 Vagrantfile 配置文件中端口转发的网络标识符:forwarded_port,例如: config.vm.network "forwarded_port", gu ...

  3. HBase备份还原OpenTSDB数据之Snapshot

    前言 本文基于伪分布式搭建 hadoop+zookeeper+hbase+opentsdb之后,想了解前因后果的可以看上一篇和上上篇. opentsdb在hbase中生成4个表(tsdb, tsdb- ...

  4. Codeforces 1082G(最大权闭合子图)

    题面 传送门 分析 没想到压轴题是道模板裸题 由于子图的权值=边权和-点权和 将边和点都看成新图中的点 S向原来的边i连边,权值为边权 点i向T连边,权值为点权 边i:(u,v,w)向u,v,连边,权 ...

  5. P2579 [ZJOI2005]沼泽鳄鱼(矩乘)

    P2579 [ZJOI2005]沼泽鳄鱼 没有食人鱼:直接矩乘优化 有食人鱼:食人鱼周期2.3.4,公倍数12,可以以12为一个周期矩乘,剩下的暴力 注意矩乘不满足乘法交换律,一定要注意乘的顺序 #i ...

  6. P4126 [AHOI2009]最小割(网络流+tarjan)

    P4126 [AHOI2009]最小割 边$(x,y)$是可行流的条件: 1.满流:2.残量网络中$x,y$不连通 边$(x,y)$是必须流的条件: 1.满流:2.残量网络中$x,S$与$y,T$分别 ...

  7. ORACLE数据字典DBA视图

    select  *  from  DBA_ALL_TABLES   --显示数据库中所有表的描述 select  *  from  DBA_CATALOG  --列出所有数据库标,视图,同义词和序列 ...

  8. 【JAVA】java中的length和length()

    参考链接: 你注意到Java中的length和length()了吗?外加一个size() java中的求长度length有时有小括号,有时没有小括号,到底什么时候该加小括号呢? 总结: Java中St ...

  9. C#学习大纲

    一.C#:    1.进制转换    2.vs界面内容 熟悉软件    3.数据类型 :引用类型 值类型    4.变量 (存储数据)一个变量存储一个数据    5.类型转换    6.运算符:算数运 ...

  10. React Native实践总结一

    一.React的世界观1.通过改变state来改变视图视图不用考虑如何改变自己,把state画出来即可.2.变量不可变通过创建一个新的state来更改state,使得变更可追踪,不容易因为其他部分修改 ...