Linux工具——vim

安装vim

yum -y install vim

如果安装失败,提示Could not resolve host:mirrorlist.centos.org: Unkown error的问题,需要替换yum源,可以参考这个文章


 配置vim

root的vim配置文件在  /etc/vimrc

普通用户的vim配置文件在用户对应家目录下,是一个隐藏文件.vimrc

大家感兴趣可以查找相关文章,自己在文件中去配置,打开文件写入内容即可

vim .vimrc

如果懒得配置,这里推荐一个一键配置的方法

安装(强烈建议在普通用户下配置)

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

卸载

bash ~/.VimForCpp/uninstall.sh

想要修改配置内容可以在用户家目录下修改.vimrc

vim .vimrc


使用vim

vim有三种常用模式:命令模式,插入模式,底行模式

进入插入模式——i 

我们使用vim打开一个文本文件时,进入的是命令模式,直接按键盘输入内容是不会有反应的,想要写文档只需要按i键,看到下面有insert就表示进入插入模式了,之后就可以像记事本那样写入内容了

 插入模式的使用很简单,就相当于记事本,这里就不过多赘述了

想要退出插入模式只要按Esc就可以

命令模式(正常模式)

命令模式可以帮助我们对文档进行便捷的修改,这需要我们熟记一些命令:

定位光标:

gg:定位光标到首行

G:定位光标到最后一行

数字 + G:定位光标到该数字行

$:定位光标到当前行结尾

^:定位光标到当前行开始

w:光标以单词为单位向前移动

b:光标以单词为单位向后移动

h,j,k,l(方向键也可以):光标向左,下,上,右移动一个字符

复制

(数字n)yy:复制光标所在行之后的n行

粘贴

(数字n)p:从光标所在行开始,粘贴剪切板内容n次

剪切删除

(数字n)dd:剪切删除光标所在行之后的n行

(数字n)x:剪切删除光标之后的n个字符

撤销

撤销:u

撤销之前的撤销:ctrl+r

 替换

(数字n)r:对光标后的n个字符进行批量替换

~:对光标所在处的字符进行大小写转换

 底行模式

在命令模式(正常模式)下,输入:即可进入

列出行号

:set nu        列出文件行号。

跳到文件中的某一行

:数字n        光标跳到n行

查找字符

:/关键字(/可以用?替换)       将文本的所有关键字标亮,继续按n会依次跳转到下一个关键字的地方
/ 和 ?查找有什么区别?操作实验一下就知道了

保存文件

:w        保存文件

离开vim

:q       退出vim,如果无法退出就用:q!强制退出
:wq       保存并退出, 一般建议退出时,搭配w一起使用,这样在退出的时候还可以保存文件。

 

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

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

相关文章

ElacticSearch入门

ElacticSearch 什么是Elasticsearch? Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布&#xff0c…

RabbitMQ的确认机制

RabbitMQ的确认机制 生产者确认 public class ProductionMessageConfirm {public static void Send(){ConnectionFactory factory new ConnectionFactory();factory.HostName "localhost";//RabbitMQ服务在本地运行factory.UserName "guest";//用户名…

react实现页面动态表单设计器(自定义推拽表单)

react实现页面动态表单设计器(自定义推拽表单) 实现效果安装插件使用组件介绍基本设置,可设置控件标签,是否必填,校验规则校验规则有如下几种多选,下拉,单选可动态设置每个选择的label以及值 实…

一百三十三、Hive——Hive外部表加载含有JSON格式字段的CSV文件数据

一、目标 在Hive的ODS层建外部表,然后加载HDFS中的CSV文件数据 注意:CSV文件中含有未解析的JSON格式的字段数据,并且JSON字段中还有逗号 二、第一次建外部表,直接以,分隔行字段,结果JSON数据只显示一部分…

vue3相对路径图片编译后无法显示

<img src"../assets/image/ai_content_12x.png" /> 是这么写的&#xff0c;图片用的相对路径&#xff0c;在本地不编译的话是没有问题正常。 但是编译后你就会发现在域名后一旦有路径&#xff0c;整个vue的 img js css 的加载路径都会报错。 需要在vue.config.…

【1++的C++初阶】之list

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的C初阶】 文章目录 一&#xff0c;什么是list二&#xff0c;构造与析构2.1 结点结构2.2 链表结构2.3 迭代器结构 三&#xff0c;部分重要接口的作用及其实现3.1 迭代器相关的接口3.2 list相关…

【微信小程序】实现折叠功能,折叠不同的列表

要实现微信小程序中的折叠功能&#xff0c;可以使用wx:if或hidden属性来控制列表的显示与隐藏。同时&#xff0c;可以使用icon组件来添加指示箭头。 首先&#xff0c;在wxml文件中创建两个List列表&#xff0c;使用一个变量来控制列表的显示与隐藏&#xff1a; <view>&…

【VCS】(5)Fast RTL-level Verification

Fast RTL-level Verification General Coding GuidlinesLab --- simprofile$display() 输出彩色内容 前面的内容都是在说怎样进行仿真和验证&#xff0c;即如何使用 VCS 。 但是&#xff0c;仿真和验证是不是也有所讲究&#xff1f; 有没有一些标准来衡量设计代码和验证代码的质…

62. 不同路径

题目链接&#xff1a;力扣 解法一&#xff1a;动态规划 定义状态&#xff1a;对于m*n的网络&#xff0c;从最后一行到右下角&#xff0c;以及从最后一列到右下角&#xff0c;都只有一条不同路径&#xff1a;一直向右或一直向下&#xff0c;所以可以定义状态&#xff1a;dp[i][…

OpenCV系列__chapter2

这里写目录标题 1 图像加减乘除位运算1.1 加法 img cv2.add(img1, img2)1.2 减法 img cv2.subtract(img1, img2)1.3 乘法 img cv2.multiply(img1, img2)1.4 除法 img cv2.divide(img1, img2)1.5 位运算 2 图像增强2.1 线性变换2.2 非线性变换 3 图像几何变换3.1 裁剪、放大…

Java设计模式之单例模式(Singleton)模式

单例模式&#xff08;Singleton&#xff09;确保一个类只有一个实例&#xff0c;且提供一个全局访问点。 什么是单例模式 单例模式是一种非常常用的设计模式&#xff0c;它可以确保一个类只有一个实例&#xff0c;并且提供一个全局访问点。在单例模式中&#xff0c;应用程序中…

java(springboot)对接elasticsearch8+

1、pom引用 注&#xff1a;jackson包es只用到了databind&#xff0c;之所以全部引用是因为actuator用到了其他&#xff0c;只升级一个会 导致版本冲突 <!-- https://mvnrepository.com/artifact/co.elastic.clients/elasticsearch-java --> <dependency><grou…

七大排序算法和计数排序

文章目录 一、直接插入排序二、希尔排序三、直接选择排序四、堆排序五、冒泡排序六、快速排序6.1递归实现快速排序6.2非递归实现快速排序 七、归并排序7.1递归实现归并排序7.2非递归实现归并排序 八、计数排序 以下排序以从小到大排序为例 一、直接插入排序 时间复杂度&#x…

文章审核之敏感词过滤

技术选型 DFA实现原理 DFA全称为&#xff1a;Deterministic Finite Automaton,即确定有穷自动机。 存储&#xff1a;一次性的把所有的敏感词存储到了多个map中&#xff0c;就是下图表示这种结构 敏感词&#xff1a;冰毒、大麻、大坏蛋 工具类 最下面的main方法是测试用的&a…

Java版本电子招标采购系统源代码—企业战略布局下的采购寻源

智慧寻源 多策略、多场景寻源&#xff0c;多种看板让寻源过程全程可监控&#xff0c;根据不同采购场景&#xff0c;采取不同寻源策略&#xff0c; 实现采购寻源线上化管控&#xff1b;同时支持公域和私域寻源。 询价比价 全程线上询比价&#xff0c;信息公开透明&#xff0c;可…

微信小程序-地图上的图标计算旋转值朝向经纬度计算

废话不多说&#xff0c;开整 // 参数为寄件人经纬度和收件人经纬度 // 根据寄收件人经纬度弧度π进行rotate旋转计算 const getRotate (po1, po2) > {if (!(po1 && po2)) return 0const lng_a po1.longitudeconst lat_a po1.latitudeconst lng_b po2.longitud…

MySQL使用

目录 1 MySQL的登录 1.1 服务的启动和终止 1.2 自带客户端的登录与退出 2 MySQL演示使用 2.1 MySQL的使用演示 2.2 MySQL的编码设置 1 MySQL的登录 1.1 服务的启动和终止 MySQL安装完毕以后&#xff0c;需要启动服务器进程&#xff0c;不然客户端无法连接数据库。 在前面…

vue-cli项目中,使用webpack-bundle-analyzer进行模块分析,查看各个模块的体积,方便后期代码优化

一、安装 npm install --save-dev webpack-bundle-analyzer 二、在vue.config.js中配置 const BundleAnalyzerPlugin require(webpack-bundle-analyzer).BundleAnalyzerPlugin plugins: [new BundleAnalyzerPlugin({analyzerMode: server,analyzerHost: 127.0.0.1,analyze…

Word2Vec实现文本识别分类

深度学习训练营之使用Word2Vec实现文本识别分类 原文链接环境介绍前言前置工作设置GPU数据查看构建数据迭代器 Word2Vec的调用生成数据批次和迭代器模型训练初始化拆分数据集并进行训练 预测 原文链接 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&…

探析国内数字孪生引擎技术现状

在数字孪生软件来发中&#xff0c;渲染引擎是一个关键点&#xff0c;国内大多数字孪生平台引擎通常使用的是自研的渲染引擎或者采用开源的渲染引擎。下面通过一些常见的渲染引擎在国内数字孪生引擎中的应用带大家了解数字孪生软件开发的方式。 自研渲染引擎&#xff1a;许多数…