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链接入口
在该页面滑下去,按照指示步骤进行;
在这里插入图片描述
在这里插入图片描述
这样就可以像其他编辑器一样正常使用了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

城市内涝积水监测,万宾科技内涝预警监测系统

每一个城市的排水体系都是一个复杂的网络系统,需要多个部分配合协调,预防城市排水管网带来安全隐患,也因此才能在一定程度上缓解城市内涝带来的安全问题。在海绵城市建设过程中不仅要解决大部分道路硬化导致的积水无法渗透等问题,…

AR眼镜硬件解决方案_AR/VR智能眼镜安卓主板芯片方案介绍

随着近两年来增强现实(AR)技术的逐渐成熟,采用MT8788芯片解决方案的AR眼镜已经问世。众所周知,AR技术可以帮助开发者打造一个既强大而又实用的混合现实世界,将虚拟与真实世界相结合。 据了解,MT8788芯片采用了多芯片分布式处理系统…

HelloGitHub 社区动态,开启新的篇章!

今天这篇文章是 HelloGitHub 社区动态的第一篇文章,所以我想多说两句,聊聊为啥开启这个系列。 我是 2016 年创建的 HelloGitHub,它从最初的一份分享开源项目的月刊,现如今已经成长为 7w Star 的开源项目、1w 用户的开源社区、全网…

nacos做服务配置和服务器发现

一、创建项目 1、创建一个spring-boot的项目 2、创建三个模块file、system、gateway模块 3、file和system分别配置启动信息,并且创建一个简单的控制器 server.port9000 spring.application.namefile server.servlet.context-path/file4、在根目录下引入依赖 <properties&g…

2023-11-Rust

学习方案&#xff1a;Rust程序设计指南 1、变量和可变性 声明变量&#xff1a;let 变量、const 常量 rust 默认变量一旦声明&#xff0c;就不可变(immutable)。当想改变 加 mut&#xff08;mutable&#xff09; 。 const 不允许用mut &#xff0c;只能声明常量&#xff0c;…

【黑马程序员】SpringCloud——Eureka

文章目录 前言一、提供者与消费者1. 服务调用关系 二、远程调用的问题三、eureka 原理分析1. eureka 的作用 四、Eureka 案例1. 搭建 eureka 服务1. 服务注册1.1 注册 user-service1.2 启动 user-service3. order-service 完成服务注册 3. 服务发现1. 在 order-service 完成服务…

算术运算符、自增自减运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符

1.算术运算符 public class OperatorDemo1 {public static void main(String[] args) {int a 10;int b 2;System.out.println(a b);System.out.println(a - b);System.out.println(a * b);System.out.println(a / b);System.out.println(5 / 2);System.out.println(5.0 / 2);…

element-ui中el-table数据合并行和列,应该怎么解决

最近接到一个任务,要实现一个数据报表,涉及到很多合并问题,一开始想着原生会简单点,实际上很麻烦,最后还是用elemen-ui中table自带的合并方法. 最终的效果是要做成这种:1.数据处理,后端返回来的数据是,一个大对象,包含三个数组,既然合并,肯定是要处理成一个数组,并且要把相同的…

户外台灯设计:照亮你的户外空间

在一个温暖的夏夜&#xff0c;能够在户外享受美味的晚餐是一种特殊的愉悦。这种露天用餐的体验不仅让你感受大自然的美丽&#xff0c;还提供了独特的放松感。为了让这个时刻更加难忘&#xff0c;户外台灯的用途与设计至关重要。 户外台灯能够创造出温馨的氛围&#xff0c;为用餐…

Excel中功能区的存放位置很灵活,可以根据需要隐藏或显示

在这个简短的教程中,你将找到5种快速简单的方法来恢复Excel功能区,以防丢失,并学习如何隐藏功能区,为工作表腾出更多空间。 功能区是Excel中所有操作的中心点,也是大多数可用功能和命令所在的区域。你觉得功能区占用了你太多的屏幕空间吗?没问题,只需单击鼠标,它就被隐…

使用python批量修改图片名称

一、使用场景 修改模式&#xff1a;原图片名称.png 》 目标图片名称.png条件&#xff1a;目标图片名称 包含 原图片名称准备工作&#xff1a;目标图片名称填写在excel当中&#xff0c;把excel放进图片文件夹内 二、代码示例 import os import pandas as pd import numpy as …

矢量图形编辑软件Boxy SVG mac中文版软件特点

Boxy SVG mac是一款基于Web的矢量图形编辑器&#xff0c;它提供了一系列强大的工具和功能&#xff0c;可帮助用户创建精美的矢量图形。Boxy SVG是一款好用的软件&#xff0c;并且可以在Windows、Mac和Linux系统上运行。 Boxy SVG mac软件特点 简单易用&#xff1a;Boxy SVG的用…

NVM安装node后提示没有对应npm包(即:无法将“npm”项识别为 cmdlet、函数、脚本文件)

背景 windows11 node版本降低到v12.22.12后&#xff0c;执行&#xff1a;nvm -v npm -v npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果 包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所在位置 …

opencv dnn模块 示例(22) 目标检测 object_detection 之 yolov7

在YOLOv6 初版出来不久&#xff0c;YOLOv7就立马横空出世了。与YOLOv5、YOLOv6不同&#xff0c;YOLOv7是由YOLOv4团队的原班人马提出的&#xff08;官方出品&#xff09;。从论文的表上来看&#xff0c;目前YOLOv7无论是在实时性还是准确率上都已经超过了当时已知的所有目标检测…

Java 之 IO/NIO/OKIO

BIO blocking io AIO Asynchronous IO 从内存读取到写入--输出 从外部到内存 -- 输入 OutputStream //文件不存在则自动创建 try {OutputStream outputStream new FileOutputStream("text.txt");outputStream.write(a);outputStream.write(b);} catch (IOExcep…

Python使用Numba装饰器进行加速

Python使用Numba装饰器进行加速 前言前提条件相关介绍实验环境Numba装饰器进行加速未加速的代码输出结果 numba.jit加速的代码输出结果 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精彩内容&#xff0c;可点击进入Python日常小操作专栏、Ope…

已解决:Rust Error: the trait bound is not satisfied 问题

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页: &#x1f405;&#x1f43e;猫头虎的博客&#x1f390;《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f996…

python的format函数的用法及实例

目录 1.format函数的语法及用法 &#xff08;1&#xff09;语法&#xff1a;{}.format() &#xff08;2&#xff09;用法&#xff1a;用于格式化字符串。可以接受无限个参数&#xff0c;可以指定顺序。返回结果为字符串。 2.实例 &#xff08;1&#xff09;不设置位置&…

煤矿企业如何选择合适的设备健康管理系统

在煤矿开采的过程中&#xff0c;机电设备发挥着重要的作用。但大量的机电设备的使用也给煤矿企业设备管理提出了一定的要求。随着工业领域数字化的深入应用&#xff0c;煤矿机电设备的自动化、智能化管理已经成为煤矿企业发展的重要手段。保障机电设备的正常运行&#xff0c;减…

Spring Boot框架配置WebSocket【一遍过,不过你评论骂我】

【找了无数的文档资料总结】 【不停的找文档试】 【每一次都显示连接不上】 【终于成了……】 当使用Spring Boot框架配置WebSocket时, 通常会使用@ServerEndpoint注解来标识WebSocket端点, 并通过ServerEndpointExporter来注册这些端点。以下是配置WebSocket的步骤: 步骤…