参考源

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. 使用 awk 命令统计文本

    2022-04-19 11:25:15.008,b4d13bfca8fe4b93a85e65a88520d945,LogScheduler#printLog,10ms,Y,xxxxxxxx 2022- ...

  2. 对比不同版本windows对libreoffice的支持情况

    由于最近需要用到libreoffice进行对文档转换为pdf,不光需要考虑在linux下的表现,还需要对比下Windows下的兼容性. 在网上各个论坛都找了下,以及libreoffice的中文社区发帖 ...

  3. CF1588F Jumping Through the Array

    在讲正解之前,先播一个小故事: xay 复杂度错误过题.将操作按照时间分块,块内他令所有置换环都必须有至少一个"黑点". 可以通过没有修改 \(p\) 操作,同时 \(p_i=i\ ...

  4. C#语言中的类型转换方法(unfinished)

    一.C#中的数据类型 1.数值类型 2.字符类型 3.字符串类型 4.布尔类型 5.枚举类型 6.Object类型 二.常见的类型转换 从转换方式的角度,类型转换分为隐式转换与显式转换两种. 其中,隐 ...

  5. 阻碍NB-IoT技术在智能水表发展的4个原因分析

    与以往的机械水表不同,根据设备所搭载的模块,智能水表分为IC卡智能表.光电直读智能表以及无线远传智能表.随着物联网技术和工业的发展,无线远程传输智能水表开始被水务公司广泛使用. 以往的机械水表.指针式 ...

  6. SQL语句修改MySQL用户密码

    SQL语句修改MySQL用户密码 前言 上数据库安全实验课,用命令行和DataGrip试图修改用户密码,一直语法报错.最后用Navicat才修改成功,预览Navicat的SQL语句,发现语句和网上都不 ...

  7. 使用Group By子句的时候,一定要记住下面的一些规则

    使用Group By子句的时候,一定要记住下面的一些规则:(1)不能Group By非标量基元类型的列,如不能Group By text,image或bit类型的列(2)Select指定的每一列都应该 ...

  8. Camunda如何配置和使用mysql数据库

    Camunda默认使用已预先配置好的H2数据库,数据库模式和所有必需的表将在引擎第一次启动时自动创建.如果你想使用自定义独立数据库,比如mysql,请遵循以下步骤: 一.新建mysql数据库 为Cam ...

  9. 会话技术 Cookie+Session

    会话:这种在多次HTTP连接间维护用户与同一用户发出的不同请求之间关联的情况称为维护一个会话(session) 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开: 功能:在一次会话 ...

  10. UiPath鼠标操作元素的介绍和使用

    一.鼠标(mouse)操作的介绍 模拟用户使用鼠标操作的一种行为,例如单击,双击,悬浮.根据作用对象的不同我们可以分为对元素的操作.对文本的操作和对图像的操作 二.鼠标对元素的操作在UiPath中的使 ...