1、vim编辑器简介

vim是一个全屏幕纯文本(绘个表格或者插个图片就不要想了)编辑器,是vi编辑器的增强版,我们主要讲解的是vim编辑器。

vim编辑器的主要优势就是不需要鼠标的介入就可以完成所有的编辑操作。如果你非常熟练的使用vim编辑器,编辑文档时要比鼠标介入操作的快多了。

在使用vim编辑器的时候可以利用别名让输入vi命令的时候,实际上执行vim编辑器,例如:

# 定义别名
[root@localhost ~]# alias vi='vim'

注意:这样定义的别名是临时生效,如果需要永久生效,请放入环境变量配置文件~/.bashrc

vim编辑器对比vi编辑器所增强的功能之一,就是文件内容有颜色的提示,方便我们识别和区分内容和错误(颜色主要的作用是排错)。

使用vi编辑器查看~/.bashrc文件。

执行命令:[root@localhost ~]# vi .bashrc

如下图所示:

使用vim编辑器查看~/.bashrc文件。

执行命令:[root@localhost ~]# vim .bashrc

如下图所示:

2、vim的工作模式

使用vim编辑文件时,存在 3 种工作模式,分别是命令模式、输入模式和编辑模式(末行模式),这 3 种工作模式可随意切换。

如下图所示:

(1)命令模式

在Shell提示符后输入命令vim + 文件名,进入vim编辑器,此时就处于命令模式下。

提示:

vim + 文件名命令,如果文件名存在,则直接打开文件显示内容。如果文件名不存在,就新建一个文件。vim后边的文件名无论有没有都不会报错,都能正确执行。

此时,从键盘上输入的任何字符都被作为编辑命令来解释,例如,aappend)表示附加命令,iinsert)表示插入命令等。

在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,而不会在屏幕上显示。

另外,在命令模式下输入的字符(即vim命令)并不在屏幕上显示出来例如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方式却发生变化:由命令模式变为输入模式。

如果输入的字符不是vim的合法命令,则机器发出“报警声”。

(2)输入模式

输入模式用于字符编辑。在命令模式下输入iao等命令后进入输入模式,此时从键盘上输入的所有字符都被都被vim编辑器插入到正在编辑的缓冲区中,被当做该文件的内容显示在屏幕上。

例如,在命令方式下输入字母i,进到输入模式,然后再输入i,就在屏幕上相应光标处添加一个字母i

按Esc键可从输入模式返回到命令模式。如果已在命令模式下,那么按下Esc键就会发出“嘟嘟”声。为了确保用户想执行的vim命令是在命令模式下输入的,不妨多按几下Esc键,听到嘟声后再输入命令。

在实际工作中需要进入输入模式,你用哪一个命令都行。主要用于文本编辑,和记事本类似,输入数据就好。

(3)最后行模式(末行模式)

在命令模式下,按:键进入末行模式,此时vim编辑器会在屏幕的底部显示:符号,作为末行模式的提示符,等待用户输入相关命令。命令是以Enter键或者ESC键结束的命令行,命令执行完毕后,vim编辑器自动回到命令模式。

常用末行模式的命令如下:

  • :w:保存不退出。

    :w 新文件名 :把文件另存为新文件。

    如::w /root/abc
  • :q:不保存退出。
  • :wq:保存退出。
  • :!:强制。

    :q!:强制不保存退出,用于修改文件之后,不保存数据退出。所有用户都可以执行的。

    :wq!:虽制保存退出,当文件的所有者或者root用户,对文件没有写权限的时候,强制写入数据使用。(只有文件的所有者或者root用户可执行)

    注意以上两个命令的区别。

『学了就忘』vim编辑器基础 — 94、vim编辑器介绍的更多相关文章

  1. 『学了就忘』Linux系统管理 — 81、进程管理介绍

    目录 1.进程与线程的概念 2.什么是进程管理 3.进程管理的作用 4.Linux进程的几种状态 5.进程与线程的关系 (1)线程与进程的关系 (2)总结 1.进程与线程的概念 来源百度百科: 进程( ...

  2. 『学了就忘』vim编辑器基础 — 96、末行模式中的相关命令

    目录 1.在文档中显示行号 2.是否显示文档内容相关颜色 3.是否将查找的字符串高亮显示 4.是否显示右下角的状态栏 5.是否在左下角显示如"--INSERT--"之类的状态栏 6 ...

  3. 『学了就忘』Linux权限管理 — 56、不可改变位权限(chattr)

    目录 1.命令格式 2.查看文件系统属性chattr权限 3.示例 文件系统属性chattr权限,也叫不可改变位权限,该权限没有风险,但是他能限制root用户. 1.命令格式 [root@localh ...

  4. 『学了就忘』vim编辑器基础 — 95、命令模式中的相关命令

    目录 1.移动光标操作 2.删除或剪切操作 3.复制操作 4.撤销操作 5.替换操作 6.补充一个知识点 命令模式中的命令主要取代的是Linux系统中鼠标的操作. vim编辑器的快捷键一般都集中在命令 ...

  5. 『学了就忘』vim编辑器基础 — 97、vim使用技巧

    目录 1.在vim中导入其他文件内容或命令结果 (1)导入其他文件内容 (2)在vim中执行系统命令 (3)导入命令结果 2.设定快捷键 3.字符替换 4.多文件打开 vim使用技巧,就是vim编辑器 ...

  6. 『学了就忘』Linux用户管理 — 52、用户组管理相关命令

    目录 1.添加用户组 2.删除用户组 3.把用户添加进组或从组中删除 4.有效组(了解) 1.添加用户组 添加用户组的命令是groupadd. 命令格式如下: [root@localhost ~]# ...

  7. 『学了就忘』Linux权限管理 — 54、sudo授权

    目录 1.什么是sudo授权 2. sudo授权说明 3.sudo命令的使用 示例1 示例2 示例3 1.什么是sudo授权 在Linux系统中,/sbin/和/usr/sbin/两个目录中的命令只有 ...

  8. 『学了就忘』Linux文件系统管理 — 64、磁盘配额的配置步骤

    目录 1.手工建立一个5GB的分区 2.建立需要做限制的三个用户 3.在分区上开启磁盘配额功能 4.建立磁盘配额的配置文件 5.开始设置用户和组的配额限制 6.启动和关闭配额 7.磁盘配额的查询 8. ...

  9. 『学了就忘』Linux系统定时任务 — 89、任务调度工具anacron

    目录 1.任务调度工具anacron介绍 2.新旧版本Linux中anacron工具的区别 3./etc/cron.{daily,weekly,monthly}目录说明 4.anacron命令 5./ ...

随机推荐

  1. 日常Java 2021/11/15

    Applet类 每一个Applet都是java.applet Applet类的子类,基础的Applet类提供了供衍生类调用的方法,以此来得到浏览器上下文的信息和服务.这些方法做了如下事情: 得到App ...

  2. A Child's History of England.49

    But he was shipwrecked in the Adriatic Sea, and was fain [happy, willing] to pass through Germany, u ...

  3. 【Android】安装插件 + 改变文字大小、颜色 + 隐藏代码区块的直线

    安装插件 可以在搜寻框里面填入关键字搜寻,具体的插件,网上有很多介绍了 改变文字大小.颜色 隐藏代码区块的直线

  4. @Transactional注解详细使用

    一.@Transactional 注解使用 @Transactional  注解只能用在public 方法上,如果用在protected或者private的方法上,不会报错,但是该注解不会生效. @T ...

  5. HTTP协议及常见状态码

    超文本传输协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议.它被设计用于Web浏览器和Web服务器之间的通信,但它也可以用于其他目的. HTTP遵循经典的客户端-服务端模型,客户端打开一 ...

  6. leetcode,两个排序数组的中位数

    先上题目描述: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 你可以假设 nums1 和  ...

  7. Sqlite 常用操作及使用EF连接Sqlite

    Sqlite是一个很轻,很好用的数据库.兼容性很强,由于是一款本地文件数据库,不需要安装任何数据库服务,只需引入第三方开发包就可以.Sqlite的处理速度比MySql和PostgreSQL更快,性能很 ...

  8. 记一次 .NET 某妇产医院 WPF内存溢出分析

    一:背景 1. 讲故事 上个月有位朋友通过博客园的短消息找到我,说他的程序存在内存溢出情况,寻求如何解决. 要解决还得通过 windbg 分析啦. 二:Windbg 分析 1. 为什么会内存溢出 大家 ...

  9. 快速上手ANTLR

    回顾前文: ANTLR 简单介绍 ANTLR 相关术语 ANTLR 环境准备 下面通过两个实例来快速上手ANTLR. 使用Listener转换数组 完整源码见:https://github.com/b ...

  10. Mysql配置文件 16c64g优化

    目录 一.说明 二.配置 一.说明 以下配置适合16核64G及以上的配置,会让性能稍微提高1/3左右. 二.配置 my.cnf [client] port = 3306 socket = /usr/l ...