当前位置: 首页 > article >正文

linux第四讲----基础开发工具vim

1.软件安装

这里以ubuntu为例,安装sl软件,输入这个命令即可自动安装~

使用一下,输入sl,屏幕上会出现一个移动的小火车

 之后不想要了准备卸载就输入:

注意:1)下载软件时也可以进行搜索~ 2)centos的把apt换成yum即可

2.编辑器vim

1.介绍

vim是一个多模式的编辑器,总共有6种模式,这里我们介绍其中三种,命令模式,插入模式,还有底行模式,打开时默认进入命令模式!

2.运用

1)进入命令模式

vim   文件名

之后进入编辑界面(如图) ,先别乱动!!!

(注:若上一次打开了这个文件,下次在想打开时直接输入!v即可) 

 2)退出命令模式

当前界面直接输入冒号q(:q),也就是shift+;q,完成退出

注:如果你修改了东西,需要再加一个!才能退出去,表示强制退出(不保存退出)

3)  进入插入模式

在上述编辑界面输入i/a/o,左下角变为INSERT即为插入模式,该模式下我们可以自由输入,如图输入完成

(i是光标不动,a是光标向后移动一个字符,o是光标向下移动一个字符)

4)退出插入模式

我们完成输入后,想退出,但是千万不要直接将xshell关掉,否则会有很大的麻烦,正确的做法是按ESC键退回到命令模式,在按:wq进行保存并退出!(或者按:ZZ(快捷键)也可以退出) 

5)设置编号

进入命令模式,输入:set nu ,回车后即可

6)底行模式

进入命令模式后,按冒号(:)进入底行模式,之后在输入命令即可,操作完成后按ESC退出该模式,回到命令模式,也就是说我们之前的一些操作就是先切到这个模式然后在输入指令的

上图为底行模式 

 上图为插入模式

上图为命令模式 

7)三者关系

8) 编译代码

方法一)

方法二)

 

方法三)前提是你之前编译过这个文件

 

 3.vim中详细操作

(以下均在命令模式下操作!!!)

先补充一个冷知识:你退出时光标在哪里,在进入时光标就还会在哪里

好了,现在假设我的code.c文件有1w行,并且我光标在最后一行时退出的,现在我想打开时就回到第一行,该怎么做呢?可以参考方法1,光标瞬移法(自己编的名)

1)光标瞬移

直接输入 vim code.c +x            ,其中x为你想让光标所处的行数

如下图,x==6

 2)复制粘贴

在对要复制的地方,以命令模式按下yy,之后在需要粘贴的位置的前一行按p即可完成,如果想复制n次,则按np即可,n=1,2,3...

若想进行多行复制,直接将光标放到要复制内容的第一行,输入nyy,n为数字表示要复制的行数,之后shift g到结尾,p一下,当然p前面也可以加数字,表示该内容想复制粘贴多少次

3)光标定位

在命令模式下,不论你的光标在哪,输入gg,即可将光标迅速回到第一行,输入G,直接定位到末尾,若想定位到任意第x行,在命令模式下,输入xshift+g(或者直接xG),x为数字。

若想定位到当前行开始,则命令模式输入shift+6(=^)

若想定位到当前行末尾,则命令模式输入shift+4(=$)

若想进行光标简单小移动,一种方法是按键盘的上下左右键,另一种方法是命令模式h表示左,l表示右,j表示下,k表示上

4)撤销操作及恢复操作

撤销刚刚的操作,按u(undo)

恢复撤销操作:ctrl+r(注:所有的后悔操作都是基于你没退出vim)

5)剪切

将光标移动到要剪切的内容,按dd进行剪切,按p完成剪切

(dd:删除当前行,dd+p:剪切)

(dd也支持n操着,类比2),不在细说)

6)大小写转换

shift+`=~,按住shift不要动,之后按~,就会进行大小写转换

7)行内移动光标

n+w:以”单词“为单位向后移动

n+b:以”单词“为单位向前移动

n同上

8)删除某个字符内容

删除某个字符后面的内容:将光标移动到该字符,按n+x,n同上,撤销则按u

shift+x:删除某个字符前面的内容

9)修改某个字符内容

光标移动到要修改字符,

n+r+要修改的字符:修改某个字符,(还是按u撤销操作)

shift+r:进入vim的替换模式,覆盖式进行替换,按ESC退出

10)查找

光标放一个单词上,shift+#,选中一个单词,按n查找下一个

11)批量化注释

先ctrl+v:进入visual block模式,(视图模式)

再用hjkl上下左右调整所选范围(hjkl前面可以带数字,下同)

再shift+i:进入insert模式,并输入//

之后按esc完成批量注释

注意:上述步骤是为选中的区域,插入//,同理我们也可以插入其他文本内容(去注释也同理)

12)批量化去注释

先ctrl+v,

再hjkl选择

之后按d完成去注释

13)强制操作

:w!        强制保存,当我们将文件权限设为000是,用root账号写的时候保存会用到

:q!         强制退出,不保存刚刚所更改内容

:wq!       强制保存并退出

14)行号

:set nu     设置行号

:set nonu     取消行号

15)整体替换

:%s/要替换的/替换为的/g

如图,将所有的double替换为int

:%s/double/int/g

16)文件操作

1.新建文件

 直接vim 新建文件名,之后:wq,即可新建完毕

 

2.对比文件

:vs 文件名 

 左右侧光标切换:ctrl +ww

现实中我们可以根据需要同时对比多个文件!


http://www.kler.cn/a/566417.html

相关文章:

  • Web Storage: LocalStorage 和 SessionStorage 深入解析
  • 跨平台实时文件互传工具
  • 第十四届蓝桥杯大赛软件赛国赛C/C++大学C组
  • Storm实时流式计算系统(全解)——上
  • 手机隐私数据彻底删除工具:回收或弃用手机前防数据恢复
  • Basler acA1920-40gc
  • Mean Shift聚类算法深度解析与实战指南
  • C++ unordered_set、unordered_map哈希使用及其封装
  • 计算机毕业设计Python+DeepSeek-R1大模型期货价格预测分析 期货价格数据分析可视化预测系 统 量化交易大数据 机器学习 深度学习
  • REACT学习--钩子剩余部分
  • TCP 三次握手与四次挥手
  • Python测试框架Pytest的参数化
  • ChatGPT Deep Research:重塑智能研究的未来边界
  • C++ 实现 组合
  • Sparsely-Gated Mixture-of-Experts Layer (MoE)论文解读与Pytorch代码实现
  • nginx配置文件分解为多个子配置
  • Maven 插件的使用(二)
  • 安全模块设计:token服务、校验注解(开启token校验、开启签名校验、允许处理API日志)、获取当前用户信息的辅助类
  • 解析excel文件报错java.lang.NoSuchMethodException
  • FPGA 使用门控时钟