今天为大家讲解 Linux 下一款功能十分强大的编辑器 vim 。vim 十分好用,但是好用的前提是 熟练度 + 配置 两者都有的情况下才能得心应手。而新手对于 vim 是很难操作的,所以今天我们会讲解 vim 的基本使用,并且讲解 vim 相关的配置。帮助大家快速上手 vim 编辑器。
区分编辑器和 IDE :
可能我们之前就是在 vs2022 、Devc++ 上写代码,在这类 I D E IDE IDE 中,一个软件就可以涵盖所有功能,包括编辑,编辑,调试等等;而我们的 vim 是编辑器,单纯是写代码的。如果要编译则需要用到 gcc,g++,调试需要用到 gdb 。工具之间互相独立,虽然 vim 可以对功能进行整合。但是还是要拎清概念:vim 是一款编辑器。
vim 拥有的模式一共有 12 种模式,但我们 真正常用的只有三种 :
所以我们今天在将 vim 基本操作时,主要围绕这三种模式进行讲解:
先了解一下这三种模式:
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode 。命令模式的功能很丰富,使操作便捷。
只有在Insert mode下,才可以做 文字输入 ,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,shift+: 即可进入该模式。如果要查看你的所有模式方法为打开vim,底行模式直接输入 :help vim-modes
首先,我们先讲讲最基本的操作,不说原理,只看操作。
当我们在终端输入 vim 时,会弹出这个界面:
这个就是我们 vim 的界面,如果要退出,那么就需要按下 : q ,退出。
而 vim 另一个最基本的操作就是以 vim 方式打开文件,指令:vim file ,这里的 file 为文件名,如果文件不存在,当保存并退出 vim 时,会自动创建该文件。如果文件存在,则会直接打开文件。但是此刻,我们是不能进行输入操作的。
初识 vim 后,我们提出两个问题:
大家先别着急,因为我们接下来讲解的就是三种模式的基本操作,而这两个问题在我讲完三种模式的操作时,大家自然也就明白了,所以我们接着往下看~
vim 默认打开为 命令模式 ,命令模式下,是无法进行输入操作的。在命令模式下,可以实现对各种模式的切换,比如:
对于上面的切换操作可以用一张图表示:
了解了这些,我们相当于已经学会了 vim 的最小集(能操作但不多),基于这些,我们尝试在 vim 下写一段代码:
命令模式的目的就是让 vim 编辑更加高效
在命令模式下,我们可以使用 h 、j 、k 、l 进行 左、下、上、右 的光标移动。这种规定可以使得操作更加高效,集中。
下面,我们对常用命令做出一些整理(下面出现的 n 均代表数字) :
复制粘贴剪切 :
撤销 :
撤销只能对于本次操作内,退出保存再次操作时,是无法撤销的。
光标定位:
对全局文档:
对局部长文本行(例如若干行100字符长度,行内快速定位):
文本编辑 :
由于命令行模式指令较多,且部分指令单独演示起来效果不太好,所以我就完整演示一下 光标定位组 ,大家看一下效果即可:
命令模式按 shift 进入底行模式。
调出 / 隐藏行号:
搜索 :
保存和退出 :
强制的前提是 有权限 ,没权限照样不能强制。! 适用于强行修改写保护文件或配置文件等操作。
不退出 vim 执行 shell 命令 :
底行模式中,可以通过 !command 来完成不退出 vim ,执行 shell 指令,例如我们执行 ls -l 指令:
执行命令之后,会跳转到终端,这时按下 Enter 键返回。
批量替换数据:
%s///g,可以对数据进行批量替换,g 代表全局,例如: %s/hello/HELLO/g ,是对全局中,将 hello 替换为 HELLO
分屏 :
在底行模式下使用vs file :创建一个 file 文件,这样就可以分屏。
如果想要知道我们当前处于哪个屏幕,只要明确一点:在 vim 中,光标在哪里,我们就是在编写哪个文件
通过 ctrl + ww 我们就可以切换到不同界面,分屏可以支持多个,但是推荐一般分屏 2 - 3 个就够用了,如果对于退出文件还是常规操作,下面我们全部演示一下:
我们上面演示操作的时候,可以发现当前使用的 vim 编辑器,没有智能化补全,没有缩进,连 tab 键都是八格,使用起来非常不方便。所以我们的 vim 通常需要配置。所谓配置,就是按照固定方法,让 vim 编辑器编写代码更加舒适,更加利于使用。
通常 vim 配置有两种方案:自定义配置 或 自动化配置 。
自定义配置:
自定义 配置,就是按照自己的喜好配置,但是配置的时候可能会遇到很多问题,所以接下来我们简单就讲一下原理。
vim 在启动时,会自动在当前用户的 家目录 下,寻找配置文件,如果没有,就是默认配置。
当前我们是没有配置文件的,所以需要手动创建一个:
[lx@VM-4-3-centos ~]$ touch .vimrc
现在 .vimrc 就是当前用户的配置文件。一个用户对应一个 vim 配置,如果只对当前用户进行配置,是不会影响其他用户的 。
使用 vim .vimrc 打开配置文件,进行相关配置,保存并关闭后,打开 vim ,这些配置会立马生效。
例如,我们随意进行一些配置:
这些可以完成一些基本配置,但是还是有一些问题的,比如成对大括号出现无法智能缩进等…
如果想要自定义配置的好的话,可以去查找一下资料,研究一下,配置出自己心仪的 vim ,虽然过程可能比较繁琐,但是一切都是为了自己的写代码时的舒适度。
博主是比较懒惰,对于一些细节要求也不多,所以采用的是第二种配置方案。
自动化配置 :
这种就是博主使用的配置方案。
某神为了解决小白在配置 vim 时十分繁琐的问题,于是在 gitee 中上传了一份自动配置方案。唯一的缺点是:该配置当前只支持 centos 7 版本,而博主也十分幸运,恰巧就是这个版本。
首先打开 gitee 搜索 vimforcpp ,打开后往下划或者直接点击 [该链接] 直接跳转。
然后看到安装方法
复制框起来的指令,到 Linux 终端:
curl -sLf https:
然后敲击回车,输入 root 账号密码,即可开始安装,安装界面:
输入密码,等待安装成功后,根据提示输入:
source ~/.bashrc
就可以开始使用了~
该配置支持代码高亮,智能补齐、缩进,和语法提示等多种功能,不可谓不好用,接下来,就由我来演示一下:
版本正确的小伙伴们,还在等什么,赶紧使用起来!
相信看到这里的小伙伴已经对 vim 的基本使用和配置有一定了解了。开头提出的问题大家应该可以轻松回答出来。
但是我们这里只是带大家上手,vim 还有很多操作,使用好 vim 可以让 Linux 环境下的开发事半功倍。
原作者:进击的安度因
源链接:
https://blog.csdn.net/m0_67867172/article/details/128554545
编辑:IT运维技术圈