linux中的vim编辑器

news2024/9/20 18:48:17

Vim是一款强大的文本编辑器,可以在终端中使用。它有很多优点,比如快速、高效、灵活等,但同时也有一些难以掌握的操作。在本篇博客中,我们将详细介绍Vim的各种功能,以及如何使用它来提高的编辑效率。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApeIbePG-1682147830047)(v2-53579b05d8e5a22e4700170a6132db04_720w.jpg)]

1.基本模式

Vim具有三种基本模式:命令模式、插入模式和查看模式。

1.1命令模式

当打开Vim时,它默认是进入命令模式。在这个模式下,可以使用各种快捷键来执行一系列的操作。

按下(冒号)键或者/ (斜杠),也会进入命令模式。

在命令模式中可以执行一些输入并执行一些 VIM 或插件提供的指令。这些指令包括设置环境、文件操作、调用某个功能等等。

以下是一些常用的Vim命令模式命令:

移动光标:

  • h, j, k, l 分别代表左、下、上、右移动光标
  • 0 或者 | 将光标移到行首
  • $ 将光标移到行尾
  • gg 将光标移到文件的第一行
  • G 将光标移到文件的最后一行

搜索和替换:

  • /text 搜索文本(向下搜索)
  • ?text 搜索文本(向上搜索)
  • n 重复上一次搜索
:s/old/new/g 全局替换 old 为 new

删除和粘贴:

  • x 删除当前光标所在的字符
  • dd 删除当前行
  • yy 复制当前行
  • p 粘贴之前复制的内容

插入模式:

  • i 在当前光标处进入插入模式
  • a 在当前光标后进入插入模式
  • o 在当前行下面新开一行并进入插入模式

保存和退出:

  • :w 保存文件
  • :q 退出 Vim
  • :wq 保存并退出 Vim

1.2插入模式

在命令模式下,如果想要输入文本,需要切换到插入模式。可以按下i键或a键来进入插入模式。在插入模式下,可以像在普通的文本编辑器中一样输入字符。如果想要回到命令模式,可以按下Esc键。

以下是一些常用的 Vim 插入模式命令:

进入插入模式:

  • i 在光标所在位置之前进入插入模式
  • a 在光标所在字符之后进入插入模式
  • I 在光标所在行的开头进入插入模式
  • A 在光标所在行的结尾进入插入模式
  • o 在光标所在行下面插入新的一行并进入插入模式
  • O 在光标所在行上面插入新的一行并进入插入模式

退出插入模式:

  • Esc 退出插入模式并回到命令模式

移动光标:

  • 方向键 或者 hjkl(分别对应左下上右)移动光标

删除字符:

  • Backspace 删除光标左边的字符
  • Delete 删除光标右边的字符
  • X 删除光标左侧的字符

复制粘贴:

  • yy 复制当前行
  • p 在光标所在位置之后粘贴文本(复制或剪切的内容由 y 或 d 命令完成)

撤销和恢复:

  • u 撤销上一次操作
  • Ctrl + r 恢复上一次被撤销的操作

1.3查看模式

可视模式允许选择文本。可以按下v键进入查看模式。可以使用以下命令来浏览文件:

  • j或向下箭头:向下移动一行。
  • k或向上箭头:向上移动一行。
  • Ctrl+d:向下滚动半页。
  • Ctrl+u:向上滚动半页。
  • Ctrl+f:向下滚动一页。
  • Ctrl+b:向上滚动一页。
  • G:移到文件的末尾。
  • gg:移到文件的开头。
  • /string:搜索字符串“string”。按n键继续查找下一个匹配项。
  • ?string:反向搜索字符串“string”。

仅查看,不允许对其进行修改。

1.4快速理解

简单的说,我们可以将这三个模式想成底下的图标来表示,三种模式的切换如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y4Xi35uQ-1682147830050)(image-20230419154903627.png)]

2.高级操作

Vim还有一些高级操作,可以帮助更高效地编辑文本。下面是一些常用的命令:

  • /:查找文本。
  • n:在查找结果中查找下一个匹配项。
  • N:在查找结果中查找上一个匹配项。
  • u:撤销最近的操作。
  • Ctrl+r:重做最近一次被撤销的操作。
  • yy:复制当前行。
  • p:粘贴刚刚复制的内容。
  • :set number:显示行号。
  • :set nonumber:隐藏行号。

3.配置文件

Vim的配置文件为~/.vimrc,在其中可以设置各种选项,以满足的需求。下面是一些常用的配置选项:

  • set tabstop=4:设置制表符宽度为4个空格。
  • set expandtab:将制表符转换为空格。
  • set shiftwidth=4:设置自动缩进宽度为4个空格。
  • set number:显示行号。
  • set hlsearch:高亮显示搜索结果。

4.插件

Vim有很多插件,可以扩展其功能。下面是一些常用的插件:

  • Vundle:用于管理插件。
  • NERDTree:在Vim中浏览文件系统。
  • YouCompleteMe:自动补全代码。
  • Syntastic:检查代码语法错误。
  • CtrlP:快速查找文件。

5.常用示例:

5.1基本常用命令

  1. 打开文件:在命令行中输入“vim 文件名”,例如“vim example.txt”可以打开名为 example.txt 的文件。

  2. 保存文件:在命令模式下,输入“:w”即可保存文件。如果想要保存并退出 Vim,可以输入“:wq”。

  3. 插入模式:在命令模式下按下“i”键即可进入插入模式。在插入模式中,可以直接编辑文本。

  4. 替换模式:在命令模式下按下“R”键即可进入替换模式。在替换模式中,新输入的字符将取代光标后的字符。

  5. 移动光标:在命令模式下使用方向键或“hjkl”键可以移动光标。其中,“h”表示左,“j”表示下,“k”表示上,“l”表示右。

  6. 删除文本:在命令模式下使用“x”键可以删除光标所在位置的字符。使用“dd”可以删除整行文本。

  7. 撤销操作:在命令模式下输入“u”可以撤销上一次操作。多次按下“u”可以一步步地撤销更多的操作。

  8. 查找和替换文本:在命令模式下输入“/关键字”可以查找包含该关键字的文本。输入“:%s/旧字符串/新字符串/g”可以替换文件中所有的旧字符串为新字符串。

5.2演示

要求:创建一个filename.txt,并在里边输入内容,然后查看该文件,并保存退出。

1.首先查看该目录下的文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XdlF3Rzo-1682147830051)(image-20230419154149817.png)]

该目录下没有filename.txt文件

2.创建filename.txt,使用vim filename.txt命令

按下回车进入filename.txt的vim编辑器中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R2fOkYy1-1682147830052)(image-20230419154332763.png)]

此时为命令模式。

3.输入i进入插入模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dFp84GPw-1682147830053)(image-20230419154435999.png)]

在插入模式中进行文本编辑。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ByTjS1LZ-1682147830053)(image-20230419154527737.png)]

4.返回命令模式,按下ESC键。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8WfrA0V8-1682147830054)(image-20230419154606505.png)]

此时为命令模式

5.进入查看模式,按下v键

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KXIGGTYI-1682147830055)(image-20230419155021471.png)]

6.保存退出

首先按下ESC键进入命令模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ntEX1XQd-1682147830056)(image-20230419155100007.png)]

然后输入:wq推出并保存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zKIBxRt1-1682147830057)(image-20230419155156548.png)]

6.总结

Vim是一款强大的文本编辑器,可以帮助更高效地编辑文本。

它有很多优点,比如快速、高效、灵活等。在使用Vim时,需要掌握一些基本操作,如移动光标、删除文本、保存文件等,同时也需要学习一些高级操作,如查找文本、撤销操作、复制粘贴等。还可以通过修改配置文件和安装插件来扩展Vim的功能,使其更加适合的编辑需求。总之,掌握Vim可以大大提高的编辑效率,让的工作更加高效和便捷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity之ShaderGraph入门

前言 随着Unity版本的不断升级,URP(可编程渲染管线)也越来越普及了。不管是从效果还是性能,都是吊打老版的build-in-shader。所以无论如何我们都要开始 拥抱URP,升级Unity的时候到了。 引擎版本 我这里选择了Unity …

01_Linux操作系统

第一章:Linux操作系统 阶段内容说明: Linux命令:软件测试第一个任务,一般都要进行环境搭建,一部分环境搭建内容是在服务器上实现的,跟服务器交互需要使用Linux命令(因为服务器没有图形化界面&a…

Atlassian Confluence CVE-2022-26134 RCE漏洞

Atlassian Confluence CVE-2022-26134 RCE漏洞 Atlassian Confluence CVE-2022-26134 RCE漏洞 漏洞简介 远程攻击者在未经身份验证的情况下,可构造OGNL表达式进行注入,实现在Confluence Server或Data Center上执行任意代码. 漏洞影响范围 Confluence …

代码优化- 基本概念

思考一个问题:我们可以再抽象语法树上做编译优化吗? 答案是否定的,如果在抽象语法树上做编译优化的话,程序员所写的可能包含错误的代码,可能就被删除了,比如,对下面的程序做不可达代码删除优化…

Hadoop笔记整理

Hadoop 一. 引言 1.1 什么是大数据 大数据:(Big Data):数据量级很大的应用处理。TB级 ,日数据增长GB级 K -- M---- G ---- T ----PB ---- EB ---ZB 1024通过对海量数据进行分析,挖掘,进而发现数据内在的规律,从而为企业或者…

【数据结构】超详细讲解:算术表达式转化为后缀表达式、前缀表达式、表达式树的构建

作者:努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:算法、数据结构、Java等相关知识。博主主页: 是瑶瑶子啦所属专栏: 【数据结构】:该专栏专注于数据结构知识,持续更新&#xff0c…

Praat脚本-037 | 批量把标注TextGrid生成韵律文本

目录 引题方案一方案二方案三获取脚本关注版权说明 引题 Praat是一种非常出色、轻便、开源免费的标注工具,它的最主要用途是标注,即对语音信号中的一些特征、信息进行标注,保存为TextGrid文件,这个TextGrid文件实质 上就是一种文…

chatGPT写文章-为什么chatGPT写的文章是原创

用chatGPT写文章会重复吗 ChatGPT在生成文本时会优先从先前的训练数据中学习到的文本中选取片段,并根据先前的内容和上下文来生成新的文本。因此,从理论上来说,在相同的输入条件下,每次使用ChatGPT生成文本都可能会产生不同的输出…

Web前端-Vue2.0框架学习

Web前端-Vue框架学习 1. 前端工程化与Webpack1.1 隔行变色的demo实现1.2 webpack的基本使用1.3 webpac插件1.3.1 webpack-dev-server插件1.3.2 html-webpack-plugin 1.4 webpack中的loader(加载器)1.4.1 css-loader1.4.2 less-loader1.4.3 url-loader &a…

【动态规划】经典问题第四组,背包问题运用(分割等和子集,最后一块石头的重量 II)

前言 小亭子正在努力的学习编程,接下来将开启算法的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请收藏点赞关注支持一波, 感激不尽~~ 刷题专栏在这里~~ 深入理解动态规划建议关注…

各省份非金融类对外直接投资存量(2003-2020年)

中国各省份在非金融类对外直接投资方面呈现出不同的趋势和特点。截至2021年底,中国全国非金融类对外直接投资存量达到2.9万亿美元,其中,广东、江苏、山东、北京和上海是投资存量排名前五的省份。这五个省份的非金融类对外直接投资存量占全国总…

想想都脊背一凉,细思极恐,大家提早醒悟

一位程序员说了一件很可怕的事: 辛辛苦苦写了几年代码,做了些业务,在一片祥和中有了点成就感。然而回头一看,80%是没啥用的,甚至没法写到简历上,让人脊背一凉! 有人说,这…

Linux网桥简介、入门与配置

开始之前先得介绍一下什么是网桥,这里我们假设大家已经知道了物理的交换机是工作在链路层的。交换机的主要任务是在链路层查找转发表(mac地址与端口对应关系表),按照数据帧的目标mac地址,转发数据帧到相应的端口。那么…

半导体存储电路

半导体存储电路 SR锁存器和触发器寄存器存储器存储器分类RAMSRAMDRAM ROMMROMPROMEPROMEEPROMFLASH原理发现者应用工作原理存储单元 磁盘硬盘机械硬盘(HDD)固态硬盘(SSD) SR锁存器和触发器 SR锁存器用于记忆1位二进制信号&#x…

C语言之二分查找

目录 一、二分查找算法 二、分支语句中应注意的小点 一、二分查找算法 所谓二分查找,就是要在一组有序的数列中,查找给定的数是否在此数列中。 最主要的步骤有三个: 1.确定被查找的范围的左右下标left、right 2.根据left和right&#xff…

工业品6大采购痛点,维度云ERP帮您解决

行业现状 近年来,中国采购市场竞争加剧,市场规模不断扩大,利润总额持续增长,但在整体采购市场环境上升的情况下,企业生产成本上升,产品售价下降,行业利润却持续减少,产品大量过剩&am…

家用洗地机到底好不好用?好用的洗地机分享

洗地机是一种非常实用的清洁设备,它与传统的拖把或清洗粉相比,洗地机能够更全面、更彻底地清洁地面,除去污渍和灰尘之余,还能去除有害物质如细菌、病毒等,保证地面的卫生环境。洗地机的自动清洗和吸污功能能够大幅缩短…

Java文件字符流和字节流中的实战

文件输入输出流 文件内容操作与实战字符流ReaderWriter 字节流inputStreamOutputStream实战💪 文件内容操作与实战 文件的分类上一篇文章(文件对象处理)已经和大家讲解过了。本章主要文件主要针对于对文件内容的操作展开讲解,文件…

【golang学习笔记】——(一)安装golang

当前为了方便后续的编译和使用,在windows下进行go的安装。 一、msi安装 官网下载地址:https://golang.google.cn/ 进入Download选择Windows的msi文件下载即可 下载后进行默认或者自定义安装即可,golang无特殊配置,可按照默认安装…

算法篇——二叉树大集合上篇(js版)

222.完全二叉树的节点个数 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在…