Linux工具——vim

目录

​编辑

一,vim介绍

二,vim的五种模式

1.插入模式

2.底行模式

3.视图模式

4.替换模式

5.命令行模式


一,vim介绍

vim是啥呢?相信刚开始接触Linux的小伙伴们都会对这个问题有些许疑惑,今天我们就来介绍一下这个工具。vim其实就是一个多文本的编辑器,这个编辑器其实就和Windows下面的note记事本差不多,但是又有很多的不同。今天我们就来了解一下这个神秘的vim吧。

二,vim的五种模式

在vim中很多种模式,但是今天我们来了解一下这五种模式。这五种模式分别是:

1.命令模式 2.插入模式 3.底行模式 4.替换模式 5.视图模式。

它们的关系如下图所示:

这些模式之间的切换也和上图所示不能够通过模式与模式之间直接切换而要通过回退到命令模式后再根据指令来进入相应的模式里面。退出当前模式的操作便是无脑ESC(左上角那个按键)。

1.插入模式

切入到插入模式的指令有以下几个,但是要在命令模式下输入:

1.指令i:这个指令会让你在第一行的第一个格子里面进行插入的操作。

2.指令a:这个指令会让插入操作在当前位置的下一个位置。

o:这个指令会让插入操作的开始位置在当前位置的下一行。

在进入到插入模式以后我们便可以随意的写代码了,就和在vs编辑器下面一样。

2.底行模式

进入底行模式的指令便是在命令模式下输入':'(冒号)。在这个模式下我们便可以对程序进行编译,如对这个程序:

我们想要生成可执行程序便要输入指令:!gcc text.c :

得到这条提示以后我们的代码便编译好了,这时就会得到一个可执行的文件a.out。

要执行a.out文件便要输入指令:!./a.out:

这样便将这段代码执行了并得到了执行的结果。

在底行模式下还有如下指令:

q:当修改的内容已经保存以后便可以输入该指令退出vim。

q!:强制退出,当你对你所修改的内容不想保存但想退出时便可以输入该指令。

w:保存所修改的内容。

wq:保存并退出vim。

在底行模式下还可以执行多文件编写的命令:vs +要打开的另一个文件名

便会变成这样:

如果想要跳转文件便可以输入:ctrl+ww。

3.视图模式

进入视图模式的操作是在命令模式下输入指令:ctrl+v

在进入这个模式以后我们可以操作的便是使用方向键:h j k l来进行区域选择然后再按shift+i再加上//再按ESC退出。

比如对这段啊代码:

经过上述操作以后便会变成注释后的样子:

假如你想要删除注释便可以在视图模式下,用箭头符号h j k l进行范围选择然后输入指令:dd便可以去掉注释了:

最后dd:

4.替换模式

进入替换模式的指令是R(大写的r),在这个模式下面我们能做的便是在不删除原数据的情况下对字符进行替换。现在输入指令进入替换模式:

然后在这个时候便可以选中某个字符对其进行替换。

5.命令行模式

在这个模式下的指令是最多的,比如:

1.方向键 :h(向左),j(向下),k(向上),l(向右)。

2.复制:yy(复制一行代码),nyy(复制n行代码)。

3.粘贴:p(粘贴一行代码),np(粘贴n次)。

4.剪切:dd(剪切一行代码),ndd便是剪切n行代码。

5.大小写转换:~(输入这个指令便是进行大小写转换的操作)。

6.删除单个字符:x(dd是删除一行的代码,x便是删除单个字符)。

7.替代掉单个字符:r(对光标覆盖的字符进行修改替换)。

这里还有许多命令,大家可以去找找还有那些好玩的命令。

相关推荐
我是哈哈hh24 分钟前
【MySQL】在UBuntu环境安装以及免密码登录入门
linux·数据库·mysql·ubuntu
Lovyk33 分钟前
基于 Ansible 与 Jinja2 模板的 LNMP 环境及 WordPress 自动化部署实践
linux·运维·服务器·自动化·ansible
LKAI.38 分钟前
传统方式部署(RuoYi-Cloud)微服务
java·linux·前端·后端·微服务·node.js·ruoyi
我们从未走散1 小时前
JVM学习笔记-----类加载
笔记·学习
知白守黑2671 小时前
Linux磁盘阵列
linux·运维·服务器
前路不黑暗@2 小时前
C语言:操作符详解(二)
c语言·开发语言·经验分享·笔记·学习·学习方法·visual studio
维尔切2 小时前
Linux中基于Centos7使用lamp架构搭建个人论坛(wordpress)
linux·运维·架构
xiaoxiaoxiaolll2 小时前
金刚石基植入体新突破!Adv. Funct. Mater. 报道首例增材制造固态摩擦电能量收集器
学习
x.Jessica3 小时前
网络的构成元素
网络·学习·计算机网络
tan77º3 小时前
【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
linux·网络·分布式·网络协议·tcp/ip·rpc·json