Linux-vim使用

article/2025/10/7 12:56:52

目录

基本vim的基本操作:

命令模式:

光标定位:

$:光标定位到行右:

 ^:光标定位到左:

shift+g=G:光标定位到底部

 gg:回到顶部

 n+shift+g表示跳转光标到第n行

文本复制相关

yy复制 p粘贴。(支持多行复制粘贴)

u:撤销操作:

dd删除光标所在行(ndd)

 ndd+p:剪切操作

 光标移动:

h:向左移动:

j:向下移动:

k:向上移动

l向右移动:

文本编辑:

shift+~表示大小写切换:

 替换模式:

nr表示替换n个字符:

 行内删除:x:支持nx

  行内删除:Nx和X(shift+x)

 W:向后按照单词移动

b:向前按照单词移动:

cw能够删除一个单词:

 c#w:例如c3w能够删除3个字:

ctrl+r:取消撤销操作:

 从命令模式到插入模式

底行模式:

set nu设置行号

set nonu:取消设置行号。

 ​编辑

分屏操作:vs copy.c

 ctrl+ww:光标跨屏

%s/被替换/替换/g:表示全局替换:

无法使用sodu的问题:

删除用户的操作:

编译:


基本vim的基本操作:

 我们进行实验:

 创建一个普通文件,使用vim进行编辑:

 如下图所示:这就是命令模式:

假如我们要进入插入模式,直接按i即可:

 在插入模式下,我们可以随意的进行编辑:

 从插入模式到命令模式直接按ESC即可:

 我们直接到了命令模式。

要从命令模式到底行模式需要输入":"

 我们进入底行模式。

底行模式到命令模式只需按ESC即可。

 假设我们要保存写入的内容:我们需要先进入底行模式,然后输入wq!,表示写入并强制退出。

 接下来,我们使用cat来查看文件内容:

 总结:vim +文件名表示进入vim基本操作

vim基本操作分为3个模式:命令模式,插入模式,底行模式

命令模式到插入模式需要输入i,从插入模式到命令模式按ESC

插入模式无法直接变成底行模式,底行模式也无法直接变成插入模式。

命令模式到底行模式的操作是按":"符号,底行模式到命令模式的操作是按ESC

命令模式:

光标定位:

$:光标定位到行右:

 按下$符号:

 ^:光标定位到左:

我们的光标刚开始在第一行的最右侧,然后我们按^符号。

 

 这时候,光标移动到最开头了。

shift+g=G:光标定位到底部

 我们的光标起初在头部,我们按下shift+g。

光标移动到了尾部。

 gg:回到顶部

 我们的光标在底部,按gg

我们的光标回到了顶部。

 n+shift+g表示跳转光标到第n行

我们的光标在顶部,假如我们想要跳转光标到第四行:

  

 我们的光标到达了第四行的头部。

文本复制相关

yy复制 p粘贴。(支持多行复制粘贴)

例如:

yy复制光标所在的一行指令。

 我们按yy,再按p

 我们就粘贴出了一行指令。

多行复制和多行粘贴

 假如我们要复制3行代码:

输入3yy,再按p

我们就打印出了3行内容。

 假如我们想要多行打印呢?

我们先按yy打印光标所在的行,然后3p

 我们就额外粘贴出了3行内容。

u:撤销操作:

我们使用yy复制光标所在行的内容:

 然后再按p进行打印:

 假如我们要进行撤销的话,按u即可。

这时候,我们就撤销回了原来的操作。

dd删除光标所在行(ndd)

假如我们要删除光标所在的行:

 我们按dd

 假如我们要删除光标所在行及其后六行的话:

我们输入6dd

 

 ndd+p:剪切操作

我们按6dd,删除掉所有的代码:

 

这里的删除其实还有复制的意思,假如我们想要粘贴回来这串代码,我们直接按p即可。

 

 光标移动:

h:向左移动:

j:向下移动:

k:向上移动

l向右移动:

文本编辑:

shift+~表示大小写切换:

例如:

 我们的光标在如图所示的位置,假如我们要把p替换成为大写的

直接按shift+~

 这时候,p就变成了大写。

假如我们要批量化大小写:

 我们要把print这五个字符全部替换成为大写字符:

我们直接按5+shift+~即可:

 替换模式:

 我们按shift+r。

 这时候变为替换模式:

我们输入的内容就会对文本进行替换,例如:

我们直接输入woshizsk

 这里就会直接完成替换。

nr表示替换n个字符:

例如:

我们想把printf这行全部替换成为z,我们可以这样写:

 我们输入20r +z表示我们替换20个字符,这20个字符都为r

 行内删除:x:支持nx

例如:

x表示向后删除:

我们是向后删除,所以应该先删除;

 

我们输入x就把;删除了

 我们也可以使用nx

 我们输入3x,向后删除,就会删除main的一部分:

  行内删除:Nx和X(shift+x)

 假如我们按shift+x,我们进行的是行内删除,对应的就是t

 我们也可以使用NX,表示向行内删除3个元素:

 W:向后按照单词移动

例如:

 我们按一次w

光标就会跳到下一个单词所在位置。

b:向前按照单词移动:

 光标在如图所示的位置,我们按b

 我们就会跳到前一个单词所在的位置处。

cw能够删除一个单词:

 我们按下cw,就会把printf这个单词删除掉。

 c#w:例如c3w能够删除3个字:

我们的光标在如图所示的位置:

我们按下c3w

 

 我们就删除掉了3个单词。

ctrl+r:取消撤销操作:

例如:

我们按dd删除光标所在的这一行:

 

 我们按下u,可以撤销这个操作:

 假设我们又不想撤销了,我们可以按ctrl+r取消撤销。

 从命令模式到插入模式

从命令模式到插入模式,我们可以按一下三个字符:

i/a/o,这三个字符都可以进入插入模式。

底行模式:

set nu设置行号

 

set nonu:取消设置行号。

 

 

 这时候,我们的行号就删除了。

分屏操作:vs copy.c

 

我们完成了分屏,并且我们发现,分屏操作的光标只有一个。

 ctrl+ww:光标跨屏

 如图所示,我们的光标就跳到了右边的位置。

%s/被替换/替换/g:表示全局替换:

例如:

 假如我们要把这里的printf全部替换成为cout,我们可以这样写:

 

 这时候,我们的printf就被全部替换成为cout了。

这里的g表示global,表示全局的。

无法使用sodu的问题:

切换成超级用户:

使用vim进行操作:

 

 我们在这里添加一个106_hello,然后用户106_hello就可以使用sodu来进行提权了。

删除用户的操作:

userdel -r +用户名 :表示删除用户:

编译:

编译分为四部分:预处理,编译,汇编,链接。

预处理包括:头文件的展开,去注释,条件编译,宏替换

预处理执行:

gcc -E test.c -o test.i

含义:从现在开始进行程序的翻译,预处理做完时,就停下来

-o:知名形成的临时文件的名称(.i)

gcc -S test.c -o test.s

含义:从现在开始,进行程序的翻译,做完翻译工作,变成汇编之后,就停下来。

gcc -c test.s -o test.o

然后我们调用可执行程序:

发现我们没有权限

 gcc test.o -o mytest

表示进行链接过程,形成了可执行程序,我们可以对可执行程序进行调用:

 


http://chatgpt.dhexx.cn/article/p8s3v1F9.shtml

相关文章

VIM使用教程-详细

先上一张图: 导语 VIM 是 Linux 系统上一款文本编辑器,它是操作 Linux 的一款利器。 当前有很多优秀的 IDE 都支持安装 VIM 插件,原因就是使用它便捷,高效,很爽! 本文主要记录了 VIM 的一些常用使用技巧&am…

Vim使用

vim的三种模式: 命令模式、文本模式 、末行模式。 进入文本模式的各种方式: i 进入文本模式,光标前插入字符 a 进入文本模式,光标后插入字符 o 进入文本模式,光标所在行的下一行插入 I 进入文本模式,光标所…

vim使用(全集)

希望对大家有帮助,文档做过修改。 1、辑模式: 在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到你按下【i, I, o, O, a, A, r, R】等任何一个字母之后才会进入编辑模式。这时候屏幕的左…

vim使用教程图文教程(零基础超详细)

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 vim编辑器使用教程 1. 三种模式2. 三种打开方式3. 命令模式3.1 移动光标3.2 搜索替换3.3 复制粘贴删除 4. 编辑模式5. 末行模式 vim是Linux系…

MATLAB——偏最小二乘回归算法

设有q个因变量{y1,y2...yq}和p个自变量{x1,x2...xp}。为了研究因变量和自变量的统计关系,观测n个样本点,构成了自变量与因变量的数据表X 和Y 。部分最小二乘回归分别在X和Y中提取成分和,他们分别是x1,...,xp和y1,...,yq的线性组合。提取这两个成分有以下…

【数学建模】最小二乘回归+Java代码实现

文章目录 一、最小二乘法的历史二、最小二乘法的原理三、最小二乘法的公式四、Java代码实现最小二乘法五、输出预测结果 一、最小二乘法的历史 1801年,意大利天文学家朱赛普皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳…

【计量模型整理】偏最小二乘回归 PLS

partial least square PLS 原理与MLS、PCR、MRA比较适用情况数学推导与软件实现参考文献 原理 在影响因变量的大量的因素中,会存在隐形的影响因素但却具有很强的解释力,PLS的基本思想是提取这些隐性因素去代表尽可能多的变量来解释因变量。因而PLS也被称…

MATLAB中的偏最小二乘回归(PLSR)和主成分回归(PCR)

通过Matlab示例来解释偏最小二乘的原理 此示例显示如何在matlab中应用偏最小二乘回归(PLSR)和主成分回归(PCR),并讨论这两种方法的有效性。 当存在大量预测变量时,PLSR和PCR都是对因变量建模的方法&#…

数学建模之偏最小二乘回归分析

EverydayOneCat 💯💯! 知识点 1.偏最小二乘回归介绍 偏最小二乘回归(PLS-Partial Least Squares)是一种新型的多元统计数据分析方法,是一种多因变量对多自变量的回归建模方法,是对最小二乘方法的推广。 优点: 1)提供了一种多因变量对多自变量的回归建模方法; 2)…

傻瓜攻略(十二)——MATLAB实现偏最小二乘回归PLS

这一定是一篇真正的傻瓜攻略,原理为根,算法为骨,应用为肉,傻瓜为皮。 本文主要介绍偏最小二乘回归的基本实现,主要内容基于司守奎《数学建模算法与应用》第11章,在其基础上进行优化。 偏最小二乘回归分析 …

R语言 偏最小二乘回归PLS代码

导入数据集,标准化变量 library(pls) #读取数据赋值 df read.csv("soil.csv") y scale(df$soil.som) #标准化 x scale(df[,2:50]) #标准化 soil.plsr plsr(y~x,validation "CV") #使用交叉验证确定主成分 summary(soil.plsr) plot(RMS…

MATLAB数值分析学习笔记:线性最小二乘回归

目录 问题引入 数学描述 数学实现 最大似然原理(The Principle of Maximum Likelihood) 代码实现 问题求解: 非线性关系的线性化 问题求解 代码实现 结果 内置函数 示例(求解“问题引入”) 练习题&#xff…

R语言实现偏最小二乘回归法 partial least squares (PLS)回归

偏最小二乘回归是一种回归形式 。 当使用pls时,新的线性组合有助于解释模型中的自变量和因变量。 最近我们被客户要求撰写关于偏最小二乘回归的研究报告,包括一些图形和统计输出。 在本文中,我们将使用pls预测“收入”。 library(Ecdat…

偏最小二乘回归 Matlab

什么是偏最小二乘回归? 偏最小二乘回归(英语:Partial least squares regression, PLS回归)是一种统计学方法,与主成分回归有关系,但不是寻找响应变量和自变量之间最大方差超平面,而…

偏最小二乘回归预测(MATLAB源码)

偏最小二乘回归(英语:Partial least squares regression, PLS回归)是一种统计学方法,与主成分分析有关系,但不是寻找响应变量和自变量之间最大方差的超平面,而是通过投影分别将预测变量和观测变…

MATLAB-偏最小二乘回归分析

偏最小二乘回归提供一种多对多线性回归建模的方法,特别当两组变量的个数很多,且都存在多重相关性,而观测数据的数量(样本量)又较少时,用偏最小二乘回归建立的模型具有传统的经典回归分析等方法所没有的优点。 偏最小二乘回归分析在建模过程中集中了主成分分析,典…

MATLAB实现偏最小二乘回归PLS

这一定是一篇真正的傻瓜攻略,原理为根,算法为骨,应用为肉,傻瓜为皮。 本文主要介绍偏最小二乘回归的基本实现,主要内容基于司守奎《数学建模算法与应用》第11章,在其基础上进行优化。 偏最小二乘回归分析 …

第10章 最小二乘线性回归分析

目录 10.1简单线性回归分析 1.描述性统计分析 2.对数据进行相关性分析 3.对数据进行回归分析的结果 4.变量的方差-协方差矩阵 5.对变量系数的假设检验结果 6.对因变量的拟合值的预测 7.回归分析得到残差序列 案例延伸 1.在回归方程中不包含常数项 2.限定参与回归的样…

普通最小二乘(OLS)回归

口译: (Interpreting:) OLS (Ordinary Least Squared) Regression is the most simple linear regression model also known as the base model for Linear Regression. While it is a simple model, in Machine learning it is not given much weightage. OLS is one such mo…

最小二乘法:求回归直线方程

最小二乘法:使离差平方和 (i1~n) ∑(yi-yi) 最小的方法 结论:设回归方程为ybxa;解得 回归直线方程:在一组具有相关关系的变量与数据的(x,y)间&#xff0…