参考源

https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0

版本

本文章基于 CentOS 7.6


概述

Vi

Vi 是 Unix 及 Linux 系统下标准的编辑器,老一点的 Linux 用户应该对其都不陌生,它的强大不逊色于任何最新的文本编辑器。

所有的类 Unix 系统都会内建 Vi 文书编辑器,其他的文书编辑器则不一定会存在。

Vim

Vim 是对 Vi 的升级,在已经非常强大的 Vi 的基础上,增加了代码补完颜色区分编译错误跳转等方便编程的功能。

更厉害的是,Vim 搭配插件甚至能作为 IDE 使用,可见其功能之强大,也因此在程序员中特别受欢迎,被广泛使用。

键盘图

Vi / Vim 有非常多的快捷键位操作,能够极大的提高文本编辑效率,以下是其键盘图,供参考使用。

使用

Vim 共有 3 种模式:

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 底线命令模式(Last line mode)

Vim 启动时,默认进入命令模式。此时键盘输入会被 Vim 识别为命令。比如此时按下 i,并不会输入字符 i,而是被当作切换到输入模式的命令。

类似常用的命令如下:

  • i:切换到输入模式,此时输入会被作为字符输入,可以自由输入,也可以粘贴,按下 Esc 可退出输入模式切换到命令模式
  • x:删除光标选中的字符,此时虽然没有切换到输入模式,但文本内容已经被改变了,常用作快捷删除。
  • ::切换到底线命令模式,此时最下面的行会显示 :,供用户在后面输入命令,常输入 wq 进行保存并退出(若输入 wq! 即为强制保存并退出)。

3 种模式的关系可以用下图表示:

示例

使用 Vim 来建立一个名为 sail.txt 的文件

1、初始状态。

[root@sail home]# vim sail.txt

2、按下 ioa 进入输入模式,开始编辑。

此时可以发现在左下角状态栏中会出现 –INSERT- 的字样,这就是输入模式的标志。这个时候,除了 Esc 外,其他的按键都视为输入,可以自由编辑。

3、如果已经编辑完毕,接下来就是退出 Vim 了。

4、按下 ESC 按钮,会发现画面左下角的 – INSERT – 不见了,代表又回到了命令模式

5、按下 :,会发现底部变为了 : ,代表切换到了底线命令模式

6、在 : 后输入 wq 命令即表示保存并退出 Vim

这样就完成了文件的新建或编辑。

7、此时再输入 vim sail.txt 即可查看文本内容。

如果需要继续编辑,按下 i 切换到输入模式即可。

Linux 09 Vim的更多相关文章

  1. Linux vi/vim(转载)

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...

  2. Linux中vim的简单配置

    本文主要分享Linux中vim的简单配置 ★配置文件的位置     在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...

  3. Linux下vim文件未正常退出,修复文件

    Linux下vim文件未正常退出,会产生一个 .文件名.swp的文件 ls -al  ,rm   删掉.swp文件 之后就可以正常使用文件了

  4. Linux的vim编辑器中的翻页命令

    当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页命令为:Ctrl + f 键   f 的英文全拼为:forward: ...

  5. linux之vim配置及使用示例

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7056193.html linux之vim配置及使用示例 vi的三种模式: 一 ...

  6. Linux之Vim学习

    Linux之Vim学习 一般模式 光标移动 按键 作用 j或down方向键 向下移动一个字符 k或up方向键 向上移动一个字符 h或left方向键 向左移动一个字符 l或right方向键 向右移动一个 ...

  7. Linux使用vim进行多文件查找和替换的方法

    vim是Linux系统下常用的文本编辑,通过使用多种shell命令能够实现多文件的查找和替换,那么具体会使用到那些命令呢?下面小编就给大家介绍下Linux系统vim多文件查找和替换的方法. 在linu ...

  8. 【Linux】Linux中VIM编辑器的使用

    vim编辑器是我们在Linux中不可或缺的一部分,我们通常会使用它去自定义编辑文本已达到我们的需求,那么vim文本编辑器具体要怎么使用呢.今天跟大家分享一下vim编辑器的使用: vim编辑器模式介绍 ...

  9. linux 下vim文件乱码 cat文件正常处理方法

    linux 下vim文件乱码 cat文件正常处理方法 服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileen ...

随机推荐

  1. Spring Ioc源码分析系列--Bean实例化过程(二)

    Spring Ioc源码分析系列--Bean实例化过程(二) 前言 上篇文章Spring Ioc源码分析系列--Bean实例化过程(一)简单分析了getBean()方法,还记得分析了什么吗?不记得了才 ...

  2. 2022年Web前端开发流程和学习路线(详尽版)

    前言 前端侧重于人机交互和用户体验,后端侧重于业务逻辑和大规模数据处理.理论上,面向用户的产品里,所有问题(包括产品.设计.后端.甚至看不见的问题)的表现形式,都会暴露在前端,而只有部分问题(数据问题 ...

  3. 【Spring】AOP实现原理(三):创建代理

    AbstractAutoProxyCreator 在AbstractAutoProxyCreator的wrapIfNecessary方法中,调用getAdvicesAndAdvisorsForBean ...

  4. JS:条件语句2

    1.for循环:循环代码块一定的次数 例: for(var i = 0;i<5;i++){ console.log(i); } // 0 1 2 3 4 遍历对象: var arr=[" ...

  5. 2022年最强八股文《码出八股文-斩出offer线》

    宝剑锋从磨砺出,梅花香自苦寒来,大家好,我是小码哥 整理好的八股文终于完成了,希望看完对大家面试有所收获! 目录: 基础篇 javaOOP面试题 java集合/泛型面试题 java异常面试题 java ...

  6. 轻松上手Fluentd,结合 Rainbond 插件市场,日志收集更快捷

    以往有篇文章介绍 EFK(Kibana + ElasticSearch + Filebeat)的插件日志收集.Filebeat 插件用于转发和集中日志数据,并将它们转发到 Elasticsearch ...

  7. Python列表解析式的正确使用方式

    先来逼逼两句: Python 是一种极其多样化和强大的编程语言!当需要解决一个问题时,它有着不同的方法.在本文中,将会展示列表解析式 (List Comprehension).我们将讨论如何使用它?什 ...

  8. NC17059 队列Q

    NC17059 队列Q 题目 题目描述 ZZT 创造了一个队列 Q.这个队列包含了 N 个元素,队列中的第 i 个元素用 \(Q_i\) 表示.Q1 表示队头元素,\(Q_N\) 表示队尾元素.队列中 ...

  9. Codeforces Round #802 (Div. 2)

    题集链接 A Optimal Path 水 代码 #include <bits/stdc++.h> #define endl "\n" using namespace ...

  10. 腾讯云原生数据库TDSQL-C架构探索和实践

    作为云原生技术先驱,腾讯云数据库内核团队致力于不断提升产品的可用性.可靠性.性能和可扩展性,为用户提供更加极致的体验.为帮助用户了解极致体验背后的关键技术点,本期带来腾讯云数据库专家工程师王鲁俊给大家 ...