Linux之vim的使用详细解析

个人主页点我进入主页

专栏分类:C语言初阶 C语言进阶 数据结构初阶 Linux C++初阶算法

欢迎大家点赞,评论,收藏。

一起努力,一起奔赴大厂

目录

一.vim简介

二.vim的基本概念

三.vim的基本操作

3.1准备

3.2光标在普通模式和插入模式中的移动

3.3普通模式

3.3.1复制粘贴

3.3.2剪切粘贴

3.3.3多行复制

3.3.4光标的移动

3.3.5撤销和撤销上一次撤销

3.3.6批量注释和批量取消注释

3.4底行模式

3.4.1退出保存

3.4.2强制执行

3.4.3多窗口打开文本

四.vim一键配置

一.vim简介

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

二.vim的基本概念

vim包含很多种模式,但是最重要的是底行模式,普通模式,插入模式,普通模式是我们控制光标对字符的删除以及切换到我们的底行模式和插入模式,底行模式是进行文本的保存以及一些操作,插入模式是我们对文本进行修改底行模式和插入模式我们都可以按esc进行返回普通模式,普通模式中我们想进入插入模式我们需要按i才可以进入,我们普通模式想进入底行模式需要输入:才能进入,我们可以画图为:

其中底行模式和插入模式不可以进行直接互换。

三.vim的基本操作

3.1准备

在进行vim的基本操作前我们需要先下载vim,我们输入下面的指令进行vim的下载

cpp 复制代码
sudo yum install -y vim

下载完成后我们创建一个文件然后使用vim打开,具体操作可以参考下面的指令第一行是创建文本,第二行是使用vim进行打开

cpp 复制代码
>>test.c
vim test.c

输入完成后我们可以看到出现了我们的vim编译器

由于我是配置完成的vim,所以下显示的可能和大家的有些不同。此时我们就在我们的普通模式,我们输入i然后进行对文本的初始编写。

cpp 复制代码
1 #include<stdio.h>
  2 
  3 int main()
  4 {
  5     printf("Hello Linux\n");
  6     return 0;
  7 }    

我们此时可以看到:

3.2光标在普通模式和插入模式中的移动

在普通模式和插入模式中我们想和以前一样使用鼠标是不可能的,这时候需要我们的键盘出手了,在普通模式中我们有两种方法进行光标的移动,一种是我们的上下左右移动键,第二种就是我们的

HJKL

这四个键,其中H是向左移动一个字符,L是向右移动一格字符,J是向下移动一个字符,K是向上移动一个字符。例如我们的光标在第7行的}哪里我们输入K可以看到:

插入模式中我们需要通过上下左右键进行移动,不能通过HJKL进行移动。

3.3普通模式

3.3.1复制粘贴

在这里复制粘贴包括两种复制粘贴一种是复制一行然后粘贴一种是复制n行然后粘贴,我们先说第一种复制一行然后粘贴,我们在普通模式下输入

cpp 复制代码
yy

这时候我们光标在的那一行就被复制了我们再输入

cpp 复制代码
p

就会在下一行进行复制

接下来是复制n行然后复制,我们先输入n的值然后输入yy例如我们想复制3行,我们把光标移动到想复制的位置,然后输入

cpp 复制代码
3yy

我们再输入

cpp 复制代码
p

3.3.2剪切粘贴

同样我们的剪切粘贴也分为两种一种是剪切一行然后复制一行,另一种是剪切n行然后复制n行,我们先看第一种我们把光标移动到想要剪切的位置输入

cpp 复制代码
dd

我们再输入

cpp 复制代码
p

我们再看另一种剪切n行然后粘贴例如我们想剪切3行,我们输入

cpp 复制代码
3dd

然后输入

cpp 复制代码
p

3.3.3多行复制

我们的复制也可以进行多行复制例如我们想复制10000次第8行我们先复制第8行然后输入

cpp 复制代码
10000p

3.3.4光标的移动

在上面我们说了光标的上下左右移动如果我我们想将光标移动到开始位置呢?我们可以输入

cpp 复制代码
gg

如果我们想让光标移动到结尾位置我们可以输入(必须大写)

cpp 复制代码
G

如果我们想让光标移动到n位置,例如我们想让光标移动到5000的位置我们输入

cpp 复制代码
5000gg

我们还可以让光标在一行中进行移动,移动到这一行的开始和结尾,例如我们想移动到这一行的结尾我们输入

cpp 复制代码
$

我们想移动到这一行的开始我们输入

cpp 复制代码
^

我们还有逐个单词的移动例如我们想向后移动一个单词,我们输入

cpp 复制代码
w

向前移动一个单词,我们输入

3.3.5撤销和撤销上一次撤销

我们有时候会遇到这种情况,我们不小心多写一段或者少些一段内容,或者不小心删除一段内容,这时候我们需要用到我们的撤销功能,撤销的指令就是

cpp 复制代码
u

例如我们不小心多复制了10000行如下:

这时候我们输入u就可以把那1000行进行撤销

假如我们不小心多撤销了例如:

我们就需要对撤销进行撤销,这时候我们需要输入指令

cpp 复制代码
ctrl r

3.3.6批量注释和批量取消注释

我们写代码时经常会遇到需要注释的地方,我们应该怎样批量注释呢?例如我们想将500行到510行进行注释,我们先将光标移动到500行

我们先输入

cpp 复制代码
ctrl v

然后进行移动进行选中(HJKL)

然后输入

cpp 复制代码
I

然后输入

cpp 复制代码
//

然后输入两次esc

这样我们的批量注释就完成了。

对于我们的批量取消注释,我们先输入

cpp 复制代码
ctrl v

然后进行选中

然后输入、

cpp 复制代码
d

这样批量取消数组就完成了。

3.4底行模式

3.4.1退出保存

我们先进入底行模式,也就是先进入普通模式然后输入:就会进入到我们的底行模式

我们输入

cpp 复制代码
wq

就可以完成保存退出。

3.4.2强制执行

有时候我们会遇到不能执行的指令,例如某一个文本我们不能wq进行保存退出我们就可以输入

cpp 复制代码
!wq

完成强制保存退出。

利用!我们还可以完成一些操作,即使不退出vim我们也可以执行指令

我们现在在底行模式中我们想创建一个test2.c的文件我们输入

cpp 复制代码
! touch test2.c

我们退出来就可以看到

3.4.3多窗口打开文本

我们想要打开多个文本,例如我们想将test.c和test2.c同时打开,我们先用vim打开test.c

然后我们进入底行模式输入

cpp 复制代码
vs test2.c

此时的光标在哪我们就是控制哪一个文本,这样我们就可以完成多文本的编写,我们关闭文本就是关闭此时的文本,我们看下边

此时对test2.c进行编写我们想关闭test2.c在底行模式中输入

cpp 复制代码
wq

我们重新打开,如果我们想进行编写test.c但是光标在test2.c我们输入

cpp 复制代码
ctrl w

四.vim一键配置

注意这个配置需要Centos7,并且必须不能在root账号中进行,我们直接输入指令

cpp 复制代码
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

卸载方法是输入指令

bash ~/.VimForCpp/uninstall.sh
相关推荐
小黑爱编程21 分钟前
【LInux】HTTPS是如何实现安全传输的
linux·安全·https
BeyondESH26 分钟前
Linux线程同步—竞态条件和互斥锁(C语言)
linux·服务器·c++
鱼饼6号42 分钟前
Prometheus 上手指南
linux·运维·centos·prometheus
Asher Gu1 小时前
Linux系统编程入门 | 模拟实现 ls -l 命令
linux
c无序1 小时前
【Linux进程控制】进程程序替换
linux
小安运维日记3 小时前
Linux云计算 |【第四阶段】NOSQL-DAY1
linux·运维·redis·sql·云计算·nosql
CoolTiger、6 小时前
【Vmware16安装教程】
linux·虚拟机·vmware16
学习3人组7 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos
厨 神8 小时前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu
Karoku0668 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构