专栏首页嵌入式大杂烩【Linux笔记】Vi/Vim编辑器

【Linux笔记】Vi/Vim编辑器

1、什么是vi/vim?

vi编辑器是Linux和Unix上最基本的文本编辑器(所有版本的 Linux 都带有 vi 编辑器),工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。Vim 是Vi improved的缩写,是 vi 的改进版。

学习vi/vim编辑器的使用是很有必要的。正如vim官网(https://www.vim.org/)中有一张很形象的说明:

其配图说明为:Vim: The power tool for everyone!意在说明vim是一个很有用的工具。确实,小编当初在找工作时,某次技术面试的第二次面试的形式为:给你一台电脑:环境是Linux环境,要求是使用Vim编辑器进行编码。当时,若是不会使用vim那就尴尬了。所以,这些通用性的工具,很有必要掌握。

2、vi/vim的使用

在Linux终端中输入vim -v 或 vi -v查看当前的vim版本(本文使用的Linux发型版为:红帽企业版6):

首先,vi/vim编辑器有三种模式:命令模式(Command mode)输入模式(Insert mode)底行命令模式(Last line mode)

  • 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
  • 输入模式:正常的文本录入。
  • 底行命令模式:保存或退出文档,以及设置编辑环境。

下图为三种模式之间的切换方法(图片来源于菜鸟教程):

下面按照这张图的思路走:

在Linux终端中输入vim test并回车则可打开vim编辑器并编辑一个新文件:test。此时为命令模式:

接着我们按下键盘上的i或者a或者o即可进入输入模式:

此时按下键盘上的『Esc』键即可由输入模式切换至命令模式:

此时输入:即可由命令模式切换至底行输入模式。再输入wq 并按下回车键则可保存当前的文本并退出至命令终端(在命令模式下输入ZZ也可以退回至命令终端中,这个方式用起来更方便):

这个此时在命令终端中输入cat test即可查看我们刚才输入的信息:

cat是一个文本文件查看命令,关于其它几个常用的文本文件查看命令可查看往期笔记:【Linux笔记】文本文件查看命令

以上就是vi/vim编辑器的基本使用方法,要想更好的使用vi/vim当然就需要记更多的命令了,比如复制、粘贴、删除等操作都是有对应的命令的。其中命令模式与底行命令模式分别有不同的命令:

(1)命令模式的常用命令(图片来源:《Linux就该这么学》):

(2)底行命令模式的常用命令(图片来源:《Linux就该这么学》):

掌握这些命令就可以进行基本的操作了。若想要把vi/vim用到得心应手的地步就需要熟悉vi/vim的快捷键了。这不,某位大佬总结出了如下一副图:

该图来源于:

作者:卢钧轶(cenalulu)
来自:http://cenalulu.github.io/linux/all-vim-cheatsheat/

以上就是关于vi/vim编辑器的一些笔记,如有错误,欢迎指出。相关资料:《Linux就该这么学》、百度百科、菜鸟教程、C语言中文网。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Linux笔记】文件及目录管理命令

    之前分享的Cygwin是一个在windows平台上运行的Linux(类UNIX)模拟环境(关于Cygwin的介绍,可移步至往期笔记:【C语言笔记】Windows...

    正念君
  • 把notepad++配置成一个能编译C代码的记事本

    本博客已经不只一次提过MinGW了,往期关于C语言方面的推文中,示例代码都是用Notepad++来编写,然后用MinGW中的gcc工具来编译。MinGW的配置及...

    正念君
  • JSON的简单认识

    JSON(JavaScript Object Notation):JavaScript 对象表示法。其是一种轻量级的数据交换格式,简洁和清晰的层次结构使得其成为...

    正念君
  • [linux][memory]使用procrank分析内存利用及分析源代码

    前言: procrank是一个统计内存使用的神器,包括VSS,PSS,PSS和USS的详细参数。作为一个内存使用的分析工具,简直厉害的不要不要的。 作者尝试过几...

    皮振伟
  • linux面试基础考点

        博文介绍了一些面试中常被问到的一些知识点,是从我记录的笔记中整理出来,分享给大家。

    十里桃花舞丶
  • 系统监控-与应用高度耦合的Javamelody监控工具

    与应用高度耦合,需要在项目中配置相关的配置文件和引入对应的依赖jar、能监控的功能有限,主要功能如下:

    秋日芒草
  • Dropbear--SSH协议的另一开源实现

    Dropbear是一个相对较小的SSH服务器和客户端。它运行在各种基于POSIX的平台上。Dropbear是一种开源软件,以MIT风格的许可证分发。Dropbe...

    用户1456517
  • 使用Scrapy从HTML标签中提取数据

    Scrapy是一个用于创建Web爬虫应用的Python框架。它提供了相关编程接口,可以通过识别新链接来抓取Web数据,并可以从下载的内容中提取结构化数据。

    PantaZheng
  • 火爆美国却突遇警告:“变脸应用FaceApp是俄国人搞的,大家别用了”

    苹果用户也同样热情,App Annie数据显示,它目前在121个国家的iOS商店排名第一。

    量子位
  • 【推荐】不到100行实现的全面NLP教程(pytorch+tensorflow)

    作者在每一个模型中,都用了一种实例来表示实现该模型,比如句子分类、机器翻译等。每个案例都对应一篇论文,大家可以对应论文再结合百行不到的代码,我相信你的理论与实践...

    zenRRan

扫码关注云+社区

领取腾讯云代金券