Linux--vim

文章目录

  • Vim的介绍
  • Vim的几种模式
  • 命令模式下的基本操作
  • 批量化注释
  • Vim的简单配置
    • 使用插件

Vim的介绍

Vim是一个强大的文本编辑器,是从vi编辑器发展而来的,在vi编辑器的基础上进行了改进和拓展,具有强大的特性和功能。
Vim是一个自由开源软件,可在多个系统上运行,包括Windows、MacOS、Linux发行版;适用于各种编程和系统管理任务。

Linux通常都默认安装好了Vim文本编辑器,我们只需要通过Vim指令就可以直接打开Vim编辑器了;
执行命令

vim [文件名]

我们将通过test.c文件来进行演示讲解:
在这里插入图片描述

进去效果:在这里插入图片描述

Vim的几种模式

Vim是有操作模式的,在各个模式下,可以利用键盘做出不同的操作;
这里将讲解vim的几种常用的模式;

命令模式(Command mode):在我们打开Vim时,默认处于命令模式。在这个模式下,你可以执行各种命令,例如搜索、复制、粘贴、删除、移动光标等。

插入模式(Insert mode):在命令模式下,按下i、a、o其中一个字符,就可以进入插入模式,在当前光标位置开始输入文本。这时既可以像在常规文本编辑器中一样输入和编辑文本。

可视模式(Visual mode):在命令模式下,按下v进入可视模式。在可视模式中,可以使用移动命令选中一定范围的文本,并对其进行文本操作,例如复制、替换、删除等。

命令行模式(Command-line mode):在命令模式下,按下冒号(:)键后,进入命令行模式。在这个模式中,可以输入各种命令,例如保存文件、退出Vim等。完成命令输入后,按下回车执行该命令。

命令模式下的基本操作

我们先进入插入模式输入一些基本文本;
在这里插入图片描述
在除了命令模式的其他模式下,都可以通过esc返回到命令模式

移动光标

操作指令作用
shift+4光标定位在当前行的最右侧结尾处
shift+6光标定位在当前行的最左侧结尾处
shift+g光标定位到文本的最结尾
gg光标定位到文本的最开始
h向左移动光标
j向下移动光标
k向上移动光标
l向右移动光标
w按照单词向后移动,行尾会自动换行
b按照单词向后移动, 行尾会自动换行

插入文本

操作指令作用
i在光标前插入文本
a在光标后插入文本
o在当前行下方插入新行并进入插入模式
O在当前行上方插入新行并进入插入模式

删除、复制、粘贴

操作指令作用
n+yy从当前光标位置,向下复制n行(包括光标位置的行),没有输入n默认复制光标位置行
n+p在下一行开始粘贴,n表示粘贴次数,没有n表示粘贴一次
n+x删除光标所在字符(向右方向),n表示n个字符
n+X删除光标所在字符(向左方向),n表示n个字符
n+dd剪切行,从光标位置(包括光标位置行),n表示行数

替换

操作指令作用
~大小写快速切换
n+r输入任意字符可替换当前光标所在字符
R进入替换模式

高亮、撤销和重做

操作指令作用
#高亮查找,可高亮相同的单词
n对高亮的进行查找
u撤回上一步操作
ctrl+r对撤销操作进行撤回

保存和退出

操作指令作用
:w保存文件
:q退出编辑器
:wq保存并退出
:q!强制退出,丢弃修改

复制粘贴操作:

复制多行后粘贴
在这里插入图片描述

复制一行粘贴3次
在这里插入图片描述

删除多行:
在这里插入图片描述

保存和退出:
一般我们最常用的操作就是:wq,最后回车键确定;
-blog.csdnimg.cn/673e65e027f84f3d837d195fb6bd0fd0.png)

!感叹号是强制的意思,搭配w或q进行使用;
如果我们在编辑文本时,没有保存就退出时:
在这里插入图片描述

批量化注释

如果我们想批量化注释,可以按以下操作进行:
在这里插入图片描述
批量化去注释
在这里插入图片描述

Vim的简单配置

在目录/etc/下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户均有效。
在这里插入图片描述
如果以上的退出操作都没用,可以使用shift+zz的操作,进行保存并退出vim。

在用户目录下,我们可以自己创建一个.vimrc文件,来进行配置:
在这里插入图片描述

使用插件

在这里,要配置好看的界面和齐全的功能,需要安装插件来完善配置;
这里我们将使用别人配置好的文件进行安装;
VimforCpp链接入口
在该页面滑下去,按照指示步骤进行;
在这里插入图片描述
在这里插入图片描述
这样就可以像其他编辑器一样正常使用了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# OpenCvSharp 环形文字处理 直角坐标与极坐标转换

效果1 效果2 项目 代码 using OpenCvSharp; using System; using System.Drawing; using System.Text; using System.Windows.Forms;namespace OpenCvSharp_Demo {public partial class frmMain : Form{public frmMain(){InitializeComponent();}string fileFilter "*.*…

基于SSM的电脑公司财务管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

高防CDN与高防服务器:为什么高防服务器不能完全代替高防CDN

在当今的数字化时代,网络安全已经成为企业不容忽视的关键问题。面对不断增长的网络威胁和攻击,许多企业采取了高防措施以保护其网络和在线资产。然而,高防服务器和高防CDN是两种不同的安全解决方案,各自有其优势和局限性。在本文中…

概念解析 | 雷达协同认知成像:原理、研究现状与挑战

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:雷达协同认知成像。 概念解析 | 雷达协同认知成像:原理、研究现状与挑战 摘要: 雷达协同认知成像,作为一种先进的感知技术,在军事侦察、民用航空、无人驾驶等领域具有广…

绝缘监测及故障定位产品在IT系统中的应用

绝缘监测及故障定位产品在IT系统中的应用--安科瑞 崔丽洁 医疗2类场所应用场景 功能 1.将TN-S系统转接成IT配电系统,并通过IT系统向医疗2类场所供电; 2.实时IT系统对地绝缘电阻、隔离变压器负荷及其温度状态,并在故障时发出声光报警信号&…

案例-注册页面(css)

html页面用css控制样式&#xff0c;画一个注册页面。 页面最终效果如下&#xff1a; 页面代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册页面</title> <style>*{…

【分布式事务】初步探索分布式事务的概率和理论,初识分布式事的解决方案 Seata,TC 服务的部署以及微服务集成 Seata

文章目录 一、分布式服务案例1.1 分布式服务 demo1.2 演示分布式事务问题 二、分布式事务的概念和理论2.1 什么是分布式事务2.2 CAP 定理2.3 BASE 理论2.4 分布式事务模型 三、分布式事务解决方案 —— Seata3.1 什么是 Seata3.2 Seata 的架构3.3 Seata 的四种分布式事务解决方…

JavaEE-博客系统3(功能设计)

本部分内容为&#xff1a;实现登录功能&#xff1b;强制要求用户登录&#xff1b;实现显示用户信息&#xff1b;退出登录&#xff1b;发布博客 该部分的后端代码如下&#xff1a; Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws Ser…

信息系统项目管理师第四版:第5章 信息系统工程

请点击↑关注、收藏&#xff0c;本博客免费为你获取精彩知识分享&#xff01;有惊喜哟&#xff01;&#xff01; 信息系统工程是用系统工程的原理、方法来指导信息系统建设与管理的一门工程技术学科&#xff0c;它是信息科学、管理科学、系统科学、计算机科学与通信技术相结合…

Visual Interpretability for Deep Learning: a Survey

Visual Interpretability for Deep Learning: a Survey----《深度学习的视觉可解释性:综述》 摘要 本文回顾了最近在理解神经网络表示以及学习具有可解释性/解耦的中间层表示的神经网络方面的研究。尽管深度神经网络在各种任务中表现出了优越的性能&#xff0c;但可解释性始终…

抖音双11进入决赛圈,爆款王炸单品竟是.....

今年&#xff0c;抖音将双11战线拉长&#xff0c;给足品牌和消费者时间备战&#xff0c;第一轮抢跑期战绩亮眼&#xff0c;多项双11销售增长记录被刷新&#xff0c;引爆全域流量。最后几天&#xff0c;抖音商城全面进入终局厮杀阶段&#xff0c;爆发期下半程对比抢跑期增速放缓…

通信原理板块——图像压缩编码

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 1、图像压缩编码 图像压缩编码可以…

Jmeter 基本使用以及性能测试基本流程使用总结

使用场景 需要对一部分接口做性能测试&#xff0c;并检验修改后的效果下载安装 搜索 Apache JMeter - Download Apache JMeter 或直接到官网 https://jmeter.apache.org/download_jmeter.cgi?cm_mc_uid15063477198714828218851&cm_mc_sid_502000001483277541下载 选择 zi…

2023年11月数据库流行度最新排名

点击查看最新数据库流行度最新排名&#xff08;每月更新&#xff09; 2023年11月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多&#xff0c;这个数据库就被认为越受欢迎。这是一个领先指标。原始数…

Linux系统环境变量

Linux系统环境变量 1. 环境变量1.1 定义环境变量1.2 使用环境变量 2. 环境变量作用2.1 PATH 3. 设置环境变量3.1 设置系统级环境变量3.2 设置用户级环境变量3.3 设置临时环境变量 1. 环境变量 在Linux系统中&#xff0c;常用的关键信息以键值对&#xff08;KeyValue&#xff09…

用C++编写动画+音频版极乐净土

#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<graphics.h> #include<Windows.h> #include<MMSystem.h>//播放音乐所需要的头文件 #pragma comment(lib,"winmm.lib")//告诉编译器&#xff0c;加载winmm.lib库文件 #define C…

[OS]11.9.2023 中断

中断向量表 CPU的设计者必须在中断信息和其处理程序的入口地址之间建立某种联系&#xff0c;使得CPU根据中断信息可以找到要执行的处理程序。 中断信息中包含有标识中断源的类型码。根据CPU的设计&#xff0c;中断类型码的作用就是用来定位中断处理程序。 比如CPU 根据中断类型…

【数据结构】 二叉树理论概念!一文了解二叉树!

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; 数据结构解析 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言&#x1f324;️树的概念☁️树的结构☁️树的小知识☁️树的表示与运用 &#x1f324…

python定时任务scheduler根据参数执行

python执行定时任务请参考&#xff1a;python使用apscheduler每隔一段时间自动化运行程序 传入参数时&#xff1a; 使用add_job函数中添加参数&#xff1a;args[参数1, 参数2]....传入参数顺序与对应位置一致 示例程序 import datetime from apscheduler.schedulers.backg…