编辑器vim 命令的学习

news/2024/11/21 17:01:35/

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.ppmy.cn/news/1548804.html

相关文章

用 Python 从零开始创建神经网络(六):优化(Optimization)介绍

优化(Optimization)介绍 引言 引言 在随机初始化的模型中,或者即使是采用更复杂方法初始化的模型中,我们的目标是随着时间的推移培训或教育一个模型。为了训练一个模型,我们调整权重和偏差以提高模型的准确性和置信度…

2024年11月15日Github流行趋势

项目名称:MinerU 项目维护者:myhloli, dt-yy, Focusshang, drunkpig, papayalove等项目介绍:一站式开源高质量数据提取工具,支持从PDF、网页和多格式电子书中提取数据。项目star数:15,059项目fork数:1,105 …

Debezium系列之:Debezium3版本使用快照过程中的指标

Debezium系列之:Debezium3版本使用快照过程中的指标 一、背景二、技术原理三、增量快照四、阻塞快照指标一、背景 使用快照技术的过程中可以观察指标,从而确定快照的进度二、技术原理 Debezium系列之:Debezium 中的增量快照Debezium系列之:Incremental snapshotting设计原理…

datawhale11月组队学习 模型压缩技术2:PyTorch模型剪枝教程

文章目录 一、 prune模块简介1.1 常用方法1.2 剪枝效果1.3 二、三、四章剪枝测试总结 二、局部剪枝(Local Pruning)2.1 结构化剪枝2.1.1 对weight进行随机结构化剪枝(random_structured)2.1.2 对weight进行迭代剪枝(范…

计算机视觉中的双边滤波:经典案例与Python代码解析

🌟 计算机视觉中的双边滤波:经典案例与Python代码解析 🚀 Hey小伙伴们!今天我们要聊的是计算机视觉中的一个重要技术——双边滤波。双边滤波是一种非线性滤波方法,主要用于图像去噪和平滑,同时保留图像的边…

智能可观测护航“双十一”,电商零售高峰稳健冲刺!

近期,“国补”等多轮刺激性政策的推出,激发了2024年”双十一“电商节消费热潮,各电商平台成交总额再创新高。伴随电商平台业务量的显著增长,零售、物流、制造、银行等全产业链业务系统的访问量也急速上升。面对海量的访问请求&…

关于学习炸鸡佬智能手表 应用硬件IIC1来取代原来软件模拟的IIC

一、用完软件模拟IIC,虽然实现了一个通用接口,只要是IO口都可以用,但是既然引脚用到了PB6和PB7,这俩都是自带硬件外设IIC的,不用白不用。这里我也给出硬件IIC的实现,不得不说HAL库封装的真好 1.硬件IIC 这…

【Linux学习】【Ubuntu入门】1-8 ubuntu下压缩与解压缩

1.Linux系统下常用的压缩格式 常用的压缩扩展名:.tar、.tar.bz2、.tar.gz 2.Windows下7ZIP软件安装 Linux系统下很多文件是.bz2,.gz结尾的压缩文件。 3.Linux系统下gzip压缩工具 gzip工具负责压缩和解压缩.gz格式的压缩包。 gzip对单个文件进行…