Linux入门3——vim的简单使用

1.vim

1.1 vim的模式

vim有三种主要模式:

①命令模式:使用vim刚打开进入的模式就是命令模式;

②插入模式:只有在插入模式下才可以做文字输入,按[Esc]键可退回命令模式;

③末行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,按[shift]+[:](即英文状态下的[:]键) 即可进入该模式。

图解三种模式之间的切换:

一些见解:在vs编译器里我们可以用鼠标选中任意代码,可是在Linux下鼠标并不起作用。

所以命令模式我们就可以简单理解为:其相当于我们用vs编译器鼠标选中任意代码进行注释、去注释、批量复制粘贴等一系列操作的过程;插入模式就相当于我们完完全全用键盘输入字符的过程。

 1.2 vim的基本命令

1. 命令模式

我们刚开始使用 vim test.c 命令进入的模式就是命令模式:

基本操作 

①按 [i/o/a] 键进入插入模式,按 [Esc] 回到命令模式

②按 [:] 键进入底行模式。

 移动光标

③h、j、k、l分别对应左、下、上、右光标移动一格;

(w——往后移动,一次移动一个单词;b——往前移动,一次移动一个单词)

键盘的↑↓←→键也能实现光标的上下左右移动是因为早期的键盘并没有这四个键。

④ [G] ——光标移动到文本最后 ;

⑤ [$] ——移动到光标所在行的“行尾”;

⑥ [^] ——移动到光标所在行的行首;

⑦ [w]——光标跳到下个字(单词)的开头;

⑧ [e]——光标跳到下个字(单词)的字尾;

⑨ [b]——光标回到上个字(单词)的开头;

⑩ [nl]——(n为数字)光标移到该行的第n个位置,如:5l,56l;

⑪ [gg]——光标移到文本开始;

⑫ [G]——光标移到文本末端;

⑬ [Ctrl]+[b]——屏幕往“后”移动一页;

⑭ [Ctrl]+[f]——屏幕往“前”移动一页;

⑮ [Ctrl]+[u]——屏幕往“后”移动半页;

⑯ [Ctrl]+[d]——屏幕往“前”移动半页;

 删除文字

①[x]——每按一次,删除光标所在位置的一个字符;

②[nx]——(n为数字)例如,[6x]表示删除光标所在位置的“后面(包含自己在内)”6个字符;

③[X]——大写的X,每按一次,删除光标所在位置的“前面”一个字符;

④[nX]——(n为数字)例如,[6X]表示删除光标所在位置的“前面”6个字符;

⑤[dd]——删除光标所在行 ;

⑥[ndd]——(n为数字)从光标所在行开始删除n行;

复制粘贴

①[yw]——将光标所在之处到字尾的字符复制到缓冲区中(复制一个单词);

②[nyw]——复制n个单词到缓冲区;

③[yy]——复制光标所在行到缓冲区;

④[nyy]——例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字;

⑤[p]——将缓冲区内的字符贴到光标所在位置。

注意:所有与“y”有关的复制命令都必须与“p”配合才能完 成复制与粘贴功能。

替换 

①[r]+[x]——(x为任意字符)将光标所在处的字符替换为[x];

②[n]+[r]+[x]——(n为数字,x为任意字符)将光标所在处之后的n个字符替换为x;

③[R]——进入替换模式,任意替换光标所在位置的字符,直到按下[Esc]回到命令模式;

撤销上一次操作

①[u]——撤销上一次操作;

②[Ctrl]+[r]——对撤销进行撤销;

跳至指定的行

①[ctrl]+[g]——列出光标所在行的行号;

②[nG]——例如:[3G]表示移动光标至文本的第15行行首;

2. 末行模式

①[set nu]——输入[set nu]后,会在文件中的每一行前面列出行号([set nonu]取消行号);

②[n]——n表示数字,输入数字再按[Enter]键光标就会跳到该行;

③[/ 关键字]——先按[/]键,再输入需要寻找的字符,如果第一次找的关键字不是我们需要的,一直按[n]会往后寻找,直到找到为止;

④[? 关键字]——作用与[/ 关键字]相似,区别在于[/ 关键字]按[n]之后,光标逐级往下寻找,[? 关键字]按[n]之后,光标逐级往上寻找。

⑤[w]——保存文件;

⑥[q]——退出,如果无法离开vim,可以在[q]后跟一个[!]强制离开vim;

⑦[wq]——保存并退出,一般此键最常用;

⑧[vs+文件名]——可以实现屏幕同时出现多个文件,光标所在哪个文件,此时就正在编辑哪个界面;按[Ctrl+ww]实现光标在多个文件之间的跳转;

3.批量化注释与批量化去注释

①[Ctrl+v]进入VISUAL BLOCK模式-->②[h/j/k/l]进行区域选择-->③[I]进入插入模式-->④[//]输入//注释-->⑤[Esc]退出插入模式,此时即可实现选中区域的批量化注释;

①[Ctrl+v]进入VISUAL BLOCK模式-->②[h/j/k/l]进行区域选择-->③[d]删除注释,此时即可实现选中区域的批量化去注释;

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

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

相关文章

智能医疗:Spring Boot医院管理系统开发

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

行为设计模式 -观察者模式- JAVA

观察者模式 一.简介二. 案例2.1 抽象主题(Subject)2.2 具体主题(Concrete Subject)2.3 抽象观察者(Observer)2.4 具体观察者(Concrete Observer)2.5 测试 三. 结论3.1 优缺点3.2 使用…

Vortex GPGPU的github流程跑通与功能模块波形探索(二)

文章目录 前言一、环境配置和debugging.md文档1.1 调试 Vortex GPU1.1.1测试 RTL 或模拟器 GPU 驱动的更改1.1.2 SimX 调试1.1.3 RTL 调试1.1.4 FPGA 调试1.1.5 分析 Vortex 跟踪日志 二、跑出波形文件和日志文件总结 前言 昨天另辟蹊径地去探索了子模块的波形仿真&#xff0c…

【简介Sentinel-1】

Sentinel-1是欧洲航天局哥白尼计划(GMES)中的地球观测卫星,由Sentinel-1A和Sentinel-1B两颗卫星组成。以下是对Sentinel-1的详细介绍: 一、基本信息 卫星名称:Sentinel-1 所属计划:欧洲航天局哥白尼计划…

【含开题报告+文档+PPT+源码】基于SSM框架的民宿酒店预定系统的设计与实现

开题报告 随着人们旅游需求的增加,民宿行业呈现出快速发展的趋势。传统的住宿方式逐渐无法满足人们对个性化、舒适、便捷的需求,而民宿作为一种新型的住宿选择,逐渐受到人们的青睐。民宿的特点是具有独特的风格、便捷的地理位置、相对亲近的…

简单使用DrissionPage网页自动化工具

DrissionPage 是一个基于 python 的网页自动化工具,类似Selenium,可以操控浏览器进行一些自动测试,也可以直接发请求; 官网:DrissionPage官网 (那个浏览器黑白图标一眼看去还以为是只哭泣的小猪&#xff0…

云计算Openstack Neutron

OpenStack Neutron是OpenStack云计算平台中的网络服务组件,它为OpenStack提供了强大的网络连接功能。 一、基本概念 Neutron是一个网络服务项目,旨在为OpenStack提供网络连接。它允许用户创建和管理虚拟网络,包括子网、路由、安全组等&…

VMWare安装和基本使用NixOS Linux 24.05版本

文章目录 简介Nix 语言基础知识NixOS 虚拟机创建 VMWare 的 NixOS 虚拟机安装说明Nix 包管理器安装Windows(WSL)上安装Linux 上安装Docker 上安装MacOS 上安装NixOS 的安装下载 ISO 镜像安装 NixOS修改语言网络配置设置位置设置键盘设置账号和密码桌面环境分区完成安装登录系…

MFC多媒体定时器实例(源码下载)

用MFC多媒体定时器做一个每1秒钟加一次的计时器,点开始计时按钮开始计时,点关闭计时按钮关闭计时。 1、在库文件Med_timeDlg.h文件中添加代码 class CMed_timeDlg : public CDialog { // Construction public:CMed_timeDlg(CWnd* pParent NULL); // st…

Microsoft 更新 Copilot AI,未來將能使用語音並看到你瀏覽的網頁

不過受到 Recall 事件的影響,更新的推出將更緩慢謹慎。 Microsoft 也同步對其網頁版及行動版的 Copilot AI 進行大改版。這主要是為網頁版換上了一個較為簡單乾淨的介面,並增加了一些新的功能,像是 Copilot Voice 能讓你與 AI 助手進行對話式…

HTML5实现古典音乐网站源码模板1

文章目录 1.设计来源1.1 网站首页1.2 古典音乐界面1.3 著名人物界面1.4 古典乐器界面1.5 历史起源界面2.效果和源码2.1 动态效果2.2 源代码源码下载万套模板,程序开发,在线开发,在线沟通作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/142…

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【285-296】

文章目录 285. 为什么需要继承286. 继承原理图287. 继承快速入门288. 289. 290. 291. 292. 继承使用细节1,2,3,4,5288.1 继承给编程带来的便利288.2 继承的深入讨论/细节问题 293. 继承本质详解294. 继承课堂练习1295. 继承课堂练习2296. 继承课堂练习3 285. 为什么需要继承 28…

【微服务】服务注册与发现、分布式配置管理 - Consul(day5)

概述 作用 Consul的两大作用就是服务发现和注册与分布式配置管理。 服务发现在介绍Eureka组件的时候已经进行过详细概述,大概就是将硬编码到服务中的IP地址和端口号进行解耦,从而实现动态扩缩容、容错处理、服务管理等功能,通过服务注册和…

台球助教预约小程序源码开发:技术解析与示例代码

随着数字化时代的到来,信息技术与体育运动的融合日益紧密。台球作为一项深受大众喜爱的运动,其教学训练领域也迎来了技术创新的浪潮。本文将探讨台球助教预约小程序的开发过程,从技术选型、功能设计到示例代码展示renxb001,全面解…

yub‘s Algorithmic Adventures_Day7

环形链表 link:https://leetcode.cn/problems/linked-list-cycle-ii/description/ 思路分析 我只能说双指针yyds【刻板hh】 我们分两种情况来分析 起码在第二圈才会相遇 fast比slow多走环的整数倍 fast 走的步数是 slow 步数的 2 倍,即 f2s&#xff…

计算机网络:计算机网络体系结构 —— 专用术语总结

文章目录 专用术语实体协议服务服务访问点 SAP 服务原语 SP 协议数据单元 PDU服务数据单元 SDU 专用术语 实体 实体是指任何可以发送或接收信息的硬件或软件进程 对等实体是指通信双方处于相同层次中的实体,如通信双方应用层的浏览器进程和 Web 服务器进程。 协…

Kubernetes中部署ELK Stack日志收集平台

1 、ELK概念 ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被成为Elastic Stack。其中: Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用Elas…

单目3d重建DUSt3R 笔记

目录 DUSt3R 三维重建 报错RecursionError: maximum recursion depth exceeded in comparison 报错 numpy.core.multiarray failed to import 报错Numpy is not available 解决 升级版mast3r 速度变慢 修改了参数设置脚本: 测试效果 操作技巧 DUSt3R 三维重…

重学SpringBoot3-集成Redis(九)之共享Session

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(九)之共享Session 1. 为什么需要 Session 共享2. Spring Session 和 Redis 的集成2.1. 引入依赖2.2. 配置 Redis 连接…

基于单片机的智能浇花系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,采样DHT11温湿度传感器检测温湿度,通过LCD1602显示 4*4按键矩阵可以设置温度湿度阈值,温度大于阈值则开启水泵,湿度大于阈值则开启风扇…