编辑器vim 命令的学习

1.编辑器Vim

1.vim是一个专注的编辑器

2.是一个支持多模式的编辑器

1.1见一见:

vim 的本质也是一条命令

退出来:-> Shift+:q

先创建一个文件

再打开这个文件

进入后先按 I 然后就可以输入了

输入完后,保存退出

按Esc --> 来到最后一行 --> 再Shift+:wq --> 再回车-->退出

打印内容

再 gcc编译,默认形成 a.out 文件


1.2vim多模式

2.命令模式

2.1光标定位

都要在命令模式下

2.1.1 先显示行

Esc --> Shift+:(来到底行) --> 输入set nu --> 回车

2.1.2 gg 定位到最开始(要先按Esc,即不是输入模式, 再按gg)

2.1.3 Shift+g=G 光标定位到文本最结尾

2.1.4 .1 n+gg 光标定位到第n行的最开始

2.1.4.2 n+Shift+g 光标定位到第n行的最开始

5+(这个加不需要输入,表示这两个是前后一起)gg

5+Shift+g

2.1.5 Shift+$(4) =$ 光标定位到该行的行尾

2.1.6 Shift+^(6)=^ 光标定位到该行的行首

2.1.7 h , j , k , l  光标移动

h 左 ,l 右 ,j 下 ,k 上 

2.1.8 w 让光标以单词为单位进行后移

这里的单词是被vim判定为独立块的东西,和空格无关

2.1.9 b 让光标以单词为单位进行前移

2.2 其他命令

2.2.1 yy 复制当前行

2.2.2 p 粘贴到当前行的下一行

我们先来到最开始

yy复制

10p 在当前行的下一行粘贴十行  n+p

yy 复制

再来到文本最结尾

p 粘贴

p 粘贴到当前行的下一行

也可以多行复制

n+yy

来到文本最结尾

2.2.3 u 撤销

2.2.4 ctrl+r 对u进行撤销

ctrl+r 和u可以相互撤销  

只要vim不退,都可以撤销

2.2.5 dd 剪切

dd

来到文本最结尾

p

只有dd没有p就是删除

n+dd 指定行往下连续切除

2dd

2.2.5 x 行内局部向后切除

n+x 多个删除

2.2.6 X 行内局部向前删除

(n+X)

2.2.7 Shift + ~  快速大小写切换

2.2.8 n+r 小范围的文本替换

输入5r

再输入k

替换模式下批量化替换

2.2.9 Shift+r=R 进入替换模式

以行为单位,代码不用删除,直接输入替换


2.3 底行命令:

 Esc + Shift + : 来到底行   -->

2.3.1 保存

w 保存

w!强制保存

wq 保存并退出                 命令模式中也可以不进入底行模式 Shift+ZZ 保存并退出

q 退出

q!强制退出

wq!强制保存并退出

2.3.2 行号

set nu 显示行号

set nonu 不显示行号

2.3.3 XXX+n 搜索  --> 根据关键字进行搜索

输入/printf

n (下一个)

n


2.3.4 !command  在不退出vim的情况下进行命令行命令,加快对代码的编写调试操作

再进入


2.3.5 vs other

做文件级别的对比

对比

分屏了

只有一个显示光标,光标在哪个文件,就是编辑哪个文件

分屏下  ctrl +ww   移动到下一个终端

3.命令模式--> 插入模式

 I 光标位置不会改变直接进入插入模式

a 光标位置向后移动一个进入插入模式

o 光标位置新起一行进入插入模式


4.命令的补充

4.1 批量注释   

ctrl+v --> hjkl --> shift+i == I --> // --> Esc

ctrl +v 进入视图模式

按h j k l 来进行区域的选择

shift+i 进入输入模式

再输入//

再按Esc

4.2 全部注释   

gg --> ctrl +v --> shift + g --> shift +i --> // --> Esc

gg来到文本最开头

ctrl + v 进入视图模式

shift+g 来到文本最结尾,这样就可以选择全部了

shift + i 进入插入模式

再输入//

再按Esc

4.3 批量化去注释 

ctrl+v --> hjkl --> l(增加行) --> d

ctrl+v --> j

按一个l

d

4.4批量化删除

ctrl+v --> jjjj --> lll 

d

4.5 批量化插入

ctrl+v --> jjjj

shift+i

输入 我+空格

Esc

4.6 底行命令

4.6.1 替换

:%s/(被替换的)/(替换成)/g(默认是替换开始的,替换全部的加g)

后者替换前者

退出的时候光标曾经在哪一行,打开就在哪一行

假设退出在文本最开始

4.6.2 我们可以让文件让光标直接定位到指定位置

第十行有问题

vim  code.c  +10

改正确后

4.6.3 !+(命令的开始符)  -->  快速执行历史命令

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

调用门提权

在我写的2.保护模式+段探测这篇文章中,我们提到了S位对于段描述符的控制,之前我们已经介绍了代码段和数据段,现在我们来把目光转到系统段 在这么多中结构里面,我们今天要介绍的就是编号为12的,32位调用门 结…

langchain模型及I/O的封装

langchain安装:pip install langchain-openai https://python.langchain.com/v0.2/docs/integrations/platforms/openai/ 注意:安装后,我们需要在环境变量中配置OPENAI_API_KEY,langchain会自动获取 1.模型的封装 指令生成式模…

阿里斑马智行 2025届秋招 NLP算法工程师

文章目录 个人情况一面/技术面 1h二面/技术面 1h三面/HR面 20min 个人情况 先说一下个人情况: 学校情况:211本中9硕,本硕学校都一般,本硕都是计算机科班,但研究方向并不是NLP,而是图表示学习论文情况&…

谈一谈QThread::CurrentThread和this->thread

QThread::CurrentThread是指的当前函数调用者者所在的线程 this->thread是指的当前对象所在的线程(对象创建出来的时候所在的线程) Qt文档说明 CurrentThread返回一个指向管理当前执行线程的QThread的指针 thread返回对象所在的线程 这两个函数所…

深度学习实验十一 卷积神经网络(2)——基于LeNet实现手写体数字识别实验

目录 一、数据 二、模型构建 三、模型训练及评价 四、打印参数量和计算量 五、模型预测 附:完整可运行代码 实验大致步骤: 一、数据 下载网站:MNIST数据集 之前的官网不能下载数据集了,403了,所以找到一个类似…

Python语法便捷查询

一、Python基础语法: (1)注释: (2)标识符: 简介:标识符的格式限制和C语言一样 (3)字符串定义方法: (4)字符串拼接: (5)字符串的格式化(占位拼接): 和C语言的printf类…

Ansys Maxwell - 3PH 感应电机 - 第 2 部分 - 机床工具包 ACT

本篇博文是“Ansys Maxwell:3PH 感应电机 - 力和热耦合”的延续。在本篇博文中,我将展示如何使用 Ansys Machine Toolkit ACT 开发扭矩与速度曲线(一系列性能曲线,包括效率图),以评估在 Ansys Maxwell 中建…

【含开题报告+文档+PPT+源码】基于springboot的教师评价系统的设计与实现

开题报告 随着信息技术的迅猛发展,教育信息化已成为现代教育的必然趋势。教研室作为高校教学管理的重要机构,肩负着提升教学质量、推动教学改革的重要使命。然而,传统的教学管理方式往往存在效率低下、数据分散、管理不便等问题,…

用 Python 从零开始创建神经网络(八):梯度、偏导数和链式法则

梯度、偏导数和链式法则 引言1. 偏导数2. 和的偏导数3. 乘法的偏导数4. Max 的偏导数5. 梯度(The Gradient)6. 链式法则(The Chain Rule) 引言 在我们继续编写我们的神经网络代码之前,最后两个需要解决的难题是梯度和…

并查集 poj 2524,1611,1703,2236,2492,1988 练习集【蓝桥杯备赛】

目录 前言 并查集优势 Ubiquitous Religions poj 2524 问题描述 问题分析 代码 The Suspects poj 1611 问题描述 问题分析 代码 Wireless Network poj 2236 问题描述 问题分析 代码 分类 带权并查集合 权值树构建步骤 Find them, Catch them poj 1703 问题描述 问题分…

zabbix监控tomcat

1. 准备JDK环境 #vim /etc/profile export JAVA_HOME/usr/local/jdk export TOMCAT_HOME/usr/local/tomcat export PATH$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOMOE/bin [rootCentOS8 ~]# source /etc/profile [rootCentOS8 ~]# java -version openjdk version &q…

Nuget For Unity插件介绍

NuGet for Unity:提升 Unity 开发效率的利器 NuGet 是 .NET 开发生态中不可或缺的包管理工具,你可以将其理解为Unity的Assets Store或者UPM,里面有很多库可以帮助我们提高开发效率。当你想使用一个库,恰好这个库没什么依赖(比如newtonjson),那么下载包并找到Dll直接…

如何在 Ubuntu 上安装 Mattermost 团队协作工具

简介 Mattermost 是一个开源、自托管的通信平台,专为团队协作设计。它类似于 Slack,提供聊天、消息传递和集成功能。Mattermost 在重视数据隐私的组织中特别受欢迎,因为它允许团队在自己的服务器上管理通信。以下是 Mattermost 的一些关键特…

初识Linux—— 基本指令(上)

前言 Linux简述 ​ Linux是一种开源、自由、类UNIX的操作系统,由著名的芬兰程序员林纳斯托瓦兹(Linus Torvalds)于1991年首次发布。Linux的内核在GNU通用公共许可证(GPL)下发布,这意味着任何人都可以自由…

VBA技术资料MF223:从文件添加新模块

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

利用RAGflow和LM Studio建立食品法规问答系统

前言 食品企业在管理标准、法规,特别是食品原料、特殊食品法规时,难以通过速查法规得到准确的结果。随着AI技术的发展,互联网上出现很多AI知识库的解决方案。 经过一轮测试,找到问题抓手、打通业务底层逻辑、对齐行业颗粒度、沉…

路径规划——RRT*算法

路径规划——RRT*算法 算法原理 RRT Star 算法是一种渐近最优的路径规划算法,它是 RRT 算法的优化版本。RRT Star 算法通过不断地迭代和优化,最终可以得到一条从起点到目标点的最优路径。 在学习RRT Star 算法之前最好先学习一下RRT原始算法&#xff1…

Java——并发工具类库线程安全问题

摘要 本文探讨了Java并发工具类库中的线程安全问题,特别是ThreadLocal导致的用户信息错乱异常场景。文章通过一个Spring Boot Web应用程序示例,展示了在Tomcat线程池环境下,ThreadLocal如何因线程重用而导致异常,并讨论了其他并发…

网络编程套接字

前言: 认识了网络,我们就应该考虑一下如何编程实现不同主机上的应用进程之间如何进行双向互通的端点。 套接字(Socket)是网络编程的一种基本概念,套接字是应用程序通过网络协议进行通信的接口,是操作系统提…

计算机网络:运输层 —— TCP 的拥塞控制

文章目录 TCP的拥塞控制拥塞控制的基本方法流量控制与拥塞控制的区别拥塞控制分类闭环拥塞控制算法 TCP的四种拥塞控制方法(算法)窗口慢开始门限慢开始算法拥塞避免算法快重传算法快恢复算法 TCP拥塞控制的流程TCP拥塞控制与网际层拥塞控制的关系 TCP的拥…