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(对光标覆盖的字符进行修改替换)。

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

相关推荐
ZzzK,12 小时前
JAVA虚拟机(JVM)
java·linux·jvm
limengshi13839213 小时前
机器学习面试:请介绍几种常用的学习率衰减方式
人工智能·学习·机器学习
知识分享小能手13 小时前
React学习教程,从入门到精通,React 组件核心语法知识点详解(类组件体系)(19)
前端·javascript·vue.js·学习·react.js·react·anti-design-vue
Aspiresky13 小时前
浅析Linux进程信号处理机制:基本原理及应用
linux·运维·信号处理
周周记笔记14 小时前
学习笔记:第一个Python程序
笔记·学习
ajassi200014 小时前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
优雅鹅14 小时前
ARM、AArch64、amd64、x86_64、x86有什么区别?
arm开发·学习
..过云雨14 小时前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习
咸甜适中15 小时前
rust语言 (1.88) egui (0.32.2) 学习笔记(逐行注释)(二十八)使用图片控件显示图片
笔记·学习·rust·egui
matlab的学徒15 小时前
Web与Nginx网站服务(改)
linux·运维·前端·nginx·tomcat