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. uni-app 云打包证书生成笔记

    一.android 云打包生成证书 1.jdk和jre安装,配置环境 2.在 C:\Users\Administrator\.android 文件夹下执行:keytool -genkey -alias ...

  2. no suitable ctr exists to convert from 'int' to 'std::basic_string<char,std::char_traits<char>,std::allocator<char> >

    int xfun(int *a,int n) { int x = *a;//a的类型是int *,a+1跳动一个int的长度 ; pa < a + n; pa++)//指向同一个类型的指针比较大 ...

  3. Logistic Algorithm分类算法的Octave仿真

    本次Octave仿真解决的问题是,根据两门入学考试的成绩来决定学生是否被录取,我们学习的训练集是包含100名学生成绩及其录取结果的数据,需要设计算法来学习该数据集,并且对新给出的学生成绩进行录取结果预 ...

  4. HTML5-Classlist样式操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 将IDEA工程代码提交到Github

    1.git安装配置 1.下载git https://git-scm.com/download/win 2.安装 傻瓜式安装即可,记住安装的目录 3.配置 2.配置git SSH 1.首先申请一个Git ...

  6. resultType和resultMap一对一查询小结

    resultType和resultMap一对一查询小结 SELECT orders.*, USER .username,USER.birthday,USER.sex,USER.address FROM ...

  7. 两台centos,用yum install 安装,一台成功,一台失败

    记录一下问题: 两台centos,用yum install 安装软件,一台成功,一台失败 第一步:查看yum源  yum repolist enabled 疑问:centos安装的方法一致,但yum源 ...

  8. 关于URL和URI的最简单理解

    以下面网址为例: http://www.sina.com/news/1.html 那么,http://www.sina.com/news/1.html就表示URL,用于标识互联网中的某一资源:/new ...

  9. redhat6.5单用户重置root密码

    (1),按 “e” 键进入该界面,继续按 “e” 键进入下一个界面. (2).上下键选中第二个kernel选项,继续按 “e” 键进行编辑. (3).在新的界面里面加一个空格,再输入“1”:或者输入“ ...

  10. ToolStripComboBox 绑定数据

    //添加ComboBox tcbbQueryCondition.ComboBox.DataSource = RelationalOperators.GetAllOperators(); tcbbQue ...