Linux的奇妙冒险———vim的用法和本地配置
vim的用法和本地配置
- 一.vim的组成和功能。
- 1.什么是vim
- 2.vim的多种模式
- 二.文本编辑(普通模式)的快捷使用
- 1.快速复制,粘贴,剪切。
- 2.撤销,返回上一步操作
- 3.光标的控制
- 4.文本快捷变换
- 5.批量化操作和注释
- 三.底行模式
- 四.vim的配置
一.vim的组成和功能。
1.什么是vim
Vim是一款文本编辑器,是Vi的改进版本。它是一个开源软件,可在各种操作系统上运行。Vim具有强大的编辑功能,支持多种编程语言和文件格式,可以通过插件扩展功能。它也具有高度可定制性,用户可以通过配置文件自定义编辑器的行为和外观。Vim是程序员和系统管理员常用的编辑工具之一。
2.vim的多种模式
- 命令模式(普通模式):在这个模式下,用户可以使用键盘执行各种命令,例如移动光标、复制粘贴、删除文本等。普通模式是默认的模式,用户可以通过按下Esc键进入普通模式。
- 插入模式(Insert Mode):在这个模式下,用户可以输入文本。用户可以通过按下i、a、o等键进入插入模式,分别表示在当前光标位置插入文本、在当前光标后插入文本、在当前行下方插入新行并切换到插入模式。
- 底行模式(命令行模式):在这个模式下,用户可以输入各种命令,例如保存文件、退出编辑器、查找替换文本等。用户可以通过按下冒号(:)键进入命令行模式。
二.文本编辑(普通模式)的快捷使用
1.快速复制,粘贴,剪切。
yy/n+yy
复制当前行/复制n当前行以下n行p/n+p
粘贴所复制的内容/粘贴n次dd/n+dd
删除指定行/删除n行
2.撤销,返回上一步操作
u
撤销上一步操作ctrl +r
对历史撤销进行撤销
3.光标的控制
shift+4$
将光标定位到行尾shift+6^
将光标定位到行首gg
将光标定位到整个文本首端shift+g
将光标定位到整个文本末端n+shift+g
将光标定位到目标n行行首h j k l
光标向左,下,右,上移动w
以单词或符号为整体向后移动b
以单词或符号为整体向前移动
4.文本快捷变换
shift+~
转换字母大小写n+x
删除光标后的n个字符n+r
替换光标后的n个字符为指定字符shift+r
进入文本替换模式,直接替换光标出文本shift+zz
快速保存并退出
5.批量化操作和注释
首先ctrl+v进入模块化视图,通过h j k l进行区域选中

然后shift+i进入插入模式,书写//,再按两次esc完成

三.底行模式
用来在vim状态下直接与shell交互,命令行的命令均可使用,须在最前方加上!
!+command



这样一来可以在vim内部完成编译处理工作。
当然,有几个常见的底行指令:
1:w 保存
2:q 退出
3:wq 保存加退出
4:set nu 打开行号
5:nonu 取消行号
6:vs +文件名 可以分屏处理多个文件如下所示

在vs分屏处理下,通过ctrl+ww,可以使光标进行切换
四.vim的配置
在每个用户的默认目录里都有一个.vimrc的文件,里便可以自行配置

这个文件是我个人的配置文件,大家可以通过自己的需求在网上找到合适指令进行配置
通过vim .vimrc进行编辑

相关文章:
Linux的奇妙冒险———vim的用法和本地配置
vim的用法和本地配置 一.vim的组成和功能。1.什么是vim2.vim的多种模式 二.文本编辑(普通模式)的快捷使用1.快速复制,粘贴,剪切。2.撤销,返回上一步操作3.光标的控制4.文本快捷变换5.批量化操作和注释 三.底行模式四.v…...
微信小程序底部按钮适配iPhoneX以上,显示遮挡问题
只需要在给底部按钮加个样式 /* 底部导航栏容器 */ .button-box {/* 使用 safe-area-inset-bottom 属性适配 iPhone X 及以上型号设备 */padding-bottom: constant(safe-area-inset-bottom);padding-bottom: env(safe-area-inset-bottom);/* 其他样式属性 */ }iPhone6/7/8效果 …...
Qt容器QMap(映射)
插入数据 QMap<QString,QString> infoMap; //第一个是key 第二个是valueinfoMap.insert("王祖蓝","163cm");infoMap.insert("Anglebaby","168cm");infoMap["易烊千玺"] "173cm(成长中)";infoMap["姚…...
AI时代的创新工具:如何利用AI生成独具个性的XMind思维导图?
哈喽,大家好,我是木头左,物联网搬砖工一名,致力于为大家淘出更多好用的AI工具! 背景 随着互联网的发展,越来越多的人开始使用Markdown来编写文档。Markdown是一种轻量级的标记语言,它允许人们使…...
【每日一题】最长交替子数组
文章目录 Tag题目来源解题思路方法一:双层循环方法二:单层循环 写在最后 Tag 【双层循环】【单层循环】【数组】【2024-01-23】 题目来源 2765. 最长交替子数组 解题思路 两个方法,一个是双层循环,一个是单层循环。 方法一&am…...
gin数据解析和绑定
1. Json 数据解析和绑定 客户端传参,后端接收并解析到结构体 package mainimport ("github.com/gin-gonic/gin""net/http" )// 定义接收数据的结构体 type Login struct {// binding:"required"修饰的字段,若接收为空值…...
TCP服务器最多支持多少客户端连接
目录 一、理论数值 二、实际部署 参考 一、理论数值 首先知道一个基础概念,对于一个 TCP 连接可以使用四元组(src_ip, src_port, dst_ip, dst_port)进行唯一标识。因为服务端 IP 和 Port 是固定的(如下图中的bind阶段࿰…...
UML类图学习
UML类图学习 UML类图是描述类之间的关系概念1.类(Class):使用三层矩形框表示2.接口(interface):使用两层矩形框表示,与类图主要区别在于顶端有<<interface>>显示3、继承类(extends):用空心三角…...
死锁面试题详解
什么是死锁? 死锁是指两个或多个进程在执行过程中,因争夺资源而造成的一种相互等待的现象,如果没有外力干涉,这些进程将永远无法继续执行 死锁通常发生在多个进程试图同时访问同一资源而无法获取的情况下,例如&#…...
【rust/bevy】使用points构造ConvexMesh
目录 说在前面问题提出Rapier具体实现参考 说在前面 操作系统:win11rust版本:rustc 1.77.0-nightlybevy版本:0.12github:这里 问题提出 在three.js中,可以通过使用ConvexGeometry从给定的三维点集合生成凸包(Convex Hu…...
【C语言】string.h——主要函数总结
string.h主要定义了字符串处理函数和内存操作函数。 字符串处理函数 strlen() 功能:strlen()函数返回字符串的字节长度,不包括末尾的空字符\0。 函数原型:size_t strlen(const char* s); 返回值:返回的是size_t类型的无符号整…...
如何在前端优化中减少页面加载时间?
在前端优化中,减少页面加载时间是至关重要的,因为快速加载的页面可以提高用户体验,减少跳出率,从而提升网站的整体性能。本文将介绍一些实用的前端优化技巧,以帮助您减少页面加载时间。 一、优化图片 图片是页面加载…...
Typecho后台无法登录显示503 service unavailable问题及处理
一、Typecho 我的博客地址:https://www.aomanhao.top 使用老薛主机动态Typecho博客框架handsome主题的搭配,文章内容可以异地网页更新,可以听后台背景音乐,很好的满足我的痛点需求,博客部署在云端服务器访问响应较快…...
Python入门(一)
anaconda安装 官网:https://www.anaconda.com下载 jupyter lab 简介: 包含了Jupyter Notebook所有功能。 JupyterLab作为一种基于web的集成开发环境,你可以使用它编写notebook,操作终端,编辑markdown文本…...
云表企业级无代码案例-自主开发ERP管理系统
痛点 我是一名企业经营者,同时也是信息化建设的坚定倡导者。凭借管理专业背景,我深知经营数据对于企业的至关重要性。如何高效搜集、精准分析经营数据,并将其转化为决策依据,直接关乎企业的生死存亡。太多因盲目决策而倒闭的企业…...
Qt —— 编译Qt5版本QFTP库,并实现连接服务、获取列表、上传、下载、删除文件等操作(附源码、附基于Qt5编译好的QFTP库)
示例效果1 示例效果2 介绍 QFTP是Qt4的库,Qt5改用了QNetworkAccessManager来代替。但是Qt5提供的QNetworkAccessManager仅支持FTP的上传和下载,所以只能将QFTP库编译为Qt5的库来进行调用。 QFTP在Github的下载地址:https://github.com/qt/qtftp 客户端源码生成的release结果…...
碰到es6的...拓展运算符
第一次碰到,哥们啥也不会 let searchForm ref({}) let formData ref({}) const initArgs async() > { args.value props.init_data formData .value { ...searchForm.value,//把值都带过来 workWhere : args.value.workWhere, statusArgs : args.value.sta…...
JDK8新特性详解
☆* o(≧▽≦)o *☆嗨~我是小奥🍹 📄📄📄个人博客:小奥的博客 📄📄📄CSDN:个人CSDN 📙📙📙Github:传送门 📅&a…...
ELK+Filebeat 部署实验
Filebeat是轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,或是直接发给 Elasticsearch 存储,性能上相比运行…...
利用wireshark lua扩展能力增加自定义解析器[注释解读版]
前言 Wireshark提供了lua扩展能力,可以定制一些Listner和Dissector,用于一些自定义的使用场景,例如: lua插件适应场景Listener报文统计、内容抽取等Dissector协议树解析,在wireshark中立等可看 已在以前的文档中积累了对于List…...
无需代码!用Qwen2.5-VL-7B-Instruct实现智能图片分析与物体检测
无需代码!用Qwen2.5-VL-7B-Instruct实现智能图片分析与物体检测 你是不是也遇到过这样的场景:手头有一堆图片,需要快速提取里面的文字、识别物体、或者描述图片内容?传统方法要么需要写代码调用API,要么得安装复杂的软…...
常见电机分类
文章目录电机分类电机分类 序号分类优点缺点驱动方式举例1直流电机结构简单、成本低、启动扭矩大、控制方便有电刷磨损,产生火花和噪音,寿命较短,高速下维护成本高PWM调速、H桥驱动(正/反转)玩具车、电动工具、风扇2步进精确的位置控制能力&…...
ros2 跟着官方教学从零开始 CS
ros2 从零开始10 服务者和消费者C/S 前言 上节课介绍写了简单的Topic订阅模型。本章我们将要学习C/S模型,即服务者和消费者模型 背景 前面服务概念时提到过,服务是ROS2 节点的另一种通信方式。服务基于调用与响应模型,而非发布者-订阅者主题模…...
难点突破:HR 每天看 200 份简历,80% 时间都在做无效劳动
去年某互联网公司招一个产品经理,收到 847 份简历。HR 小王花了整整三天时间初筛,最后发现真正符合要求的只有 23 个人。更让人崩溃的是,这 23 个人里有 5 个是第二天才看到的——因为简历太多,优质候选人被淹没在简历海里。 这不…...
3步实现风扇智能控制:Windows系统散热与噪音平衡全指南
3步实现风扇智能控制:Windows系统散热与噪音平衡全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...
如何使用USearch构建自动驾驶传感器数据的实时向量搜索系统
如何使用USearch构建自动驾驶传感器数据的实时向量搜索系统 【免费下载链接】usearch Fastest Open-Source Search & Clustering engine for Vectors & 🔜 Strings in C, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfra…...
2026秋招必备!大模型面试八股文精华(小白程序员必收藏)
本文整理了备战2026秋招时所需的大模型面试核心问题,涵盖LLM/VLM理论、RAG/Agent开发、RLHF对齐技术及模型评估等全链路知识。内容基于多次真实面试经历,建议读者先独立思考再对照答案,达到知其然更知其所以然的学习效果。预祝求职顺利&#…...
DeOldify API速率限制:令牌桶算法实现每用户每小时1000次调用
DeOldify API速率限制:令牌桶算法实现每用户每小时1000次调用 1. 为什么需要API速率限制 在构建基于DeOldify的图像上色服务时,我们面临一个重要的技术挑战:如何公平合理地分配计算资源。深度学习模型推理需要消耗大量的GPU计算资源&#x…...
Hasklig 可变字体终极指南:单一文件实现多字重支持的完整教程
Hasklig 可变字体终极指南:单一文件实现多字重支持的完整教程 【免费下载链接】Hasklig Hasklig - a code font with monospaced ligatures 项目地址: https://gitcode.com/gh_mirrors/ha/Hasklig Hasklig 是一款专为程序员设计的开源代码字体,以…...
WPF Chart控件实战:构建高性能实时数据监控曲线
1. WPF Chart控件基础入门 第一次接触WPF Chart控件时,我也被它强大的功能震撼到了。这个控件就像是一个神奇的画板,能够将枯燥的数据变成直观的曲线图。在工业监控系统中,我们经常需要实时显示温度、压力等参数的变化趋势,这时候…...
