【Linux】编辑器vim的使用及配置

文章目录

一、vim基本概念

二、vim基本操作

三、vim的配置


一、vim基本概念

vim是一个很强大的全屏幕文本编辑器。

vim和vi一样,是多模式编辑器,vim是vi的升级版本,兼容vi的所有指令。

我们之前写代码用的vs2022软件涵盖所有功能,包括编辑,编译,调试等功能(集成开发环境);而vim是专门写代码的一款编辑器,若要编译则需要用到gcc,g++,调试则需要用到gdb。

vim的模式一共有12种模式,但我们常用的只有三种:命令模式(command mode),插入模式(insert mode),底行模式(last line mode)。

命令模式:控制屏幕光标的移动,,字符,字或行的删除,移动。

插入模式:只有在插入模式下,才可以进行文字输入,按esc键就可以回到命令模式。

底行模式:文件保存或退出,找字符串,列行号等操作。命令模式下,shift+:就可以进入底行模式。


二、vim基本操作

首先,我们先讲讲最基本的操作,不说原理,只看操作。

当我们在终端输入 vim 时,会弹出这个界面:

这个就是我们 vim 的界面,如果要退出,那么就需要按下 : q ,退出。

而 vim 另一个最基本的操作就是以 vim 方式打开文件,指令:vim file ,这里的 file 为文件名,如果文件不存在,当保存并退出 vim 时,会自动创建该文件。如果文件存在,则会直接打开文件。但是此刻,我们是不能进行输入操作的。

我们提出两个问题:

  1. : q 为什么可以退出界面?是和模式有关吗?

  1. 之前说到过模式,那么 vim file 进入的界面默认是什么模式?为什么不能输入?

1.模式切换

vim默认打开是命令模式,该模式下无法进行输入操作,但可以实现对各种模式的切换。

命令模式->插入模式:i/a/o

命令模式->底行模式:shift+:,进入该模式后,vim左下角出现:,q直接退出;wq:保存退出。

了解了这些,我们相当于已经学会了 vim 的最小集(能操作但不多),基于这些,我们尝试在 vim 下写一段代码:

2.命令模式

该模式下,使用hjkl进行左下上右移动。

常用指令

复制粘贴剪切 :

yy / nyy :复制光标所在行或者复制包含当前行在内的 n 行
p / np :粘贴一行或多行相同内容到当前光标所在行之下
dd / ndd :对当前行或者当前行在内的 n 行的内容进行剪切,移动光标到目标行进行 p 粘贴(只剪切,不粘贴相当于就是删除)

撤销 :

u :撤销上一步操作
ctrl + r :对撤销进行撤销
撤销只能对于本次操作内,退出保存再次操作时,是无法撤销的。

光标定位:

对全局文档:
shift g :将光标定位到文档结尾
gg :将光标定位到文档开头
n shift g : 将光标定位到文档指定行
对局部长文本行(例如若干行100字符长度,行内快速定位):
shift $ :将光标定位到当前文档行的结尾
shift ^ :将光标定位到当前文档行的开头
w / b :按照单词为单位,进行后 / 前移动(单词定义:对于长串字符组成的非单词也认为是单词)
nw / nb :默认单词数从 0 开始,进行后 / 前移动 n 个单词间距

文本编辑 :

shift ~ :对文本行进行快速大小写切换,小写转大写,大写转小写。按住不动默认一直切换,直到文本行末尾
r 字符 / nr 字符 :替换光标所在的字符或者对于 n 个字符文本行进行批量化替换;如果 n 超过文本行长度,则不会进行替换
shift r :进入替换模式,该模式输入什么则对光标位置完成对等的替换,按退格键删除就是复原
x / nx :对文本行内进行向后删除或者对光标开始 n 个字符进行向后删除,按住不动默认一直删除,简单概括:行内删除,左侧–>右侧
shift x / shift nx :行内删除,右侧–>左侧

3.插入模式

按 i 进入插入模式后,从光标当前位置开始输入
按 a 进入插入模式后,光标往后跳转一个字符,从跳转后位置开始输入
按 o 进入插入模式后,另起新的一行,从行首开始输入

4.底行模式

调出 / 隐藏行号

set nu :显示行号
set nonu :隐藏行号

搜索

: /关键字 :按照关键字搜索数据,并显示高亮

保存和退出

w :保存
q :退出
wq :保存并退出
w! :在写保护文件情况下无法保存,强制保存。 ! 代表强制
q! :强制退出
wq! :强制保存并退出

强制的前提是 有权限 ,没权限照样不能强制。 ! 适用于强行修改写保护文件或配置文件等操作。

不退出 vim 执行 shell 命令

底行模式中,可以通过 !command 来完成不退出 vim ,执行 shell 指令。

执行命令之后,会跳转到终端,这时按下 Enter 键返回。

批量替换数据

%s///g,可以对数据进行批量替换,g 代表全局,例如: %s/hello/HELLO/g ,是对全局中,将 hello 替换为 HELLO

分屏

在底行模式下使用vs file :创建一个 file 文件,这样就可以分屏。
如果想要知道我们当前处于哪个屏幕,只要明确一点:在 vim 中,光标在哪里,我们就是在编写哪个文件
通过 ctrl + ww 我们就可以切换到不同界面,分屏可以支持多个,但是推荐一般分屏 2 - 3 个就够用了,如果对于退出文件还是常规操作。

三、vim 的配置

vim 配置有两种方案:自定义配置自动化配置

自动化配置 :

这种就是博主使用的配置方案。

某神为了解决小白在配置 vim 时十分繁琐的问题,于是在 gitee 中上传了一份自动配置方案。唯一的缺点是:该配置当前只支持 centos 7 版本。

首先打开 gitee 搜索 vimforcpp ,打开后往下划,然后看到安装方法

复制框起来的指令,到 Linux 终端:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

然后敲击回车,输入 root 账号密码,即可开始安装,安装界面:

输入密码,等待安装成功后,根据提示输入:

source ~/.bashrc

就可以开始使用了~

该配置支持代码高亮,智能补齐、缩进,和语法提示等多种功能,接下来,就由我来演示一下:

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乾乾不会编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值