【Linux从入门到精通】vim的基本使用各种操作详解

简介: vim下的操作多而杂,本篇文章会对vim下常用的多个操作进行详细解释。附加动图解释多个操作,超级详细,希望会对你有所帮助。

vim下的操作多而杂,本篇文章会对vim下常用的多个操作进行详细解释。附加动图解释多个操作,超级详细,希望会对你有所帮助。


一、vim编辑器简单介绍



vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、mac os、windows。通俗来讲,vim就是从 vi 发展出来的一个文本编辑器,是程序开发者的一项很好用的工具。


 我们可先看一下vim的键盘图大概了解一下:



677b2ba2c0de476ca99ee65ef159c186.png


下面会给大家详细解释vim编辑器的使用细节。

二、vim编辑器的四种模式


 vim编辑器下一共有四种模式:正常/普通/命令模式(Normal mode) 、插入模式(Insert mode) 、末行模式(last line mode)、可视化模式(Visual Mode)。


 我们初学的时候主要掌握正常/普通/命令模式(Normal mode) 、插入模式(Insert mode) 、末行模式(last line mode)三种模式即可。这三种模式也基本可以满足我们在Linux下编程的需要了。下面对上述的主要三种模式主要功能简单阐述一下:

2、1 正常/普通/命令模式(Normal mode)

 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。


b8d9bac78cbc43dcb138ec92348b442a.png



2、2 插入模式(Insert mode)

 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

2、3 末行模式(last line mode)



 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+:即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。

三、命令模式的相关操作实例


3、1 光标的相关操作

 vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。为什么「h」、「j」、「k」、「l」还能控制光标上下移动呢?原因很简单,在最早的时候,键盘上并没有上下左右那四个按键,并且也没有鼠标。所以移动光标只能设置到字母上。



image.png


当一行很长的时候,我们查看到行中时,想切换到行尾或者行首。这里就引出了光标位置锚点:shift + ^(光标切换到行首)、shift + $(光标切换到行尾)。


b79a32079e93457291dbd2fa524d9a95.gif


 正常情况下,一个字母一个字母的移动似乎也很慢,这里也可通过:w(从左往右以单词为单位移动)、b(从右往左以单词为单位移动)。



47cd798361c244fea75f17940ac9b30f.gif


 相同的问题:一个项目很大时,我们总不能一行一行的移动。所以我们这里就有相关的操作光标可以整个文本移动gg(光标移到起始行)、shift+g(光标移到起结束行)、n+shift+g(光标移到指定的第n行)




476e909776cc4355b053818343825e90.gif


3、2 文本操作

 首先复制、粘贴肯定少不了,也是常用的。我们复制可通过:yy(复制当前行)、n+yy(复制当前行和之后的n-1行)。复制后粘贴可通过:p(粘贴)、n+p(一次重复粘贴n行)。





2ec63c789d784f68928932a4b0f05645.gif


 剪切当然也是必不可少:dd(删除当前所在行)、n+dd(删除当前所在行及后n-1行)、dd后再按p(剪切功能)。


6bb849ac73bd4613b1ea32f8e32d79f0.gif



大小写的快速切换shift + ~

 我们知道剪切功能可删除一行,那要是我们想要删除其中的一部分呢?其中删除光标之后的字符:x(删除光标之后的一个字符)、n+x(从左向右删除光标之后的n个字符)、shift+x(从右向左删除光标前的一个字符)、n+shift+x(从右向左删除光标前的n个字符)。




6fd034bc9d4e4dd3b477a4bf46321c56.gif

其中我们还可以进行替换操作r(替换一个光标所在位置的字符)、n+x(替换n哥字符)、shift+r(进入到替换模式)。 d4d135e2cf164f85a500d20bf51056e6.gif


 我们还可进行撤销操作u(撤销误操作)、ctrl+r(撤销最近的撤销)

 以上操作均为命令模式下的操作。上述的操作其实我们在插入模式下都可以完成的。

四、插入模式下的相关操作


 插入模式没什么好说的。我们了解怎么进入插入模式就行:


命令模式+i,转换到插入模式,在光标前一个位置进行插入;

命令模式+a,转换到插入模式,在光标后一个位置进行插入;

命令模式+o,转换到插入模式,在当前行下再新建一行进行插入。

 我们按 Esc 键可从插入模式转换到命令模式。

五、末行模式下的相关操作


在末行模式的情况下,我们最常用的操作就是:q(退出编辑模式,并没有保存)、w(写入文件,也就是保存) 、wq(保存并退出编辑模式)、!(q!、w!、wq!表示强制操作)。


 在命令模式下,我们可按 shift + : 键可切换到末行模式。正常情况下,我们每行是没有行号的,我们可通过:set nu(列出行号)、set nonu(取消行号)。



119ab70c2ae04155b69a2188d51c6449.png

还有一种情况就是我们需要同时对多个文件进行编辑,我们可通过:vs+文件名(开启另一个文件框)

 我们可通过:ctrl +w+w(光标从一个文件转换到另一个文件)。当然,我们想退出其中一个时,我们可进入到末行模式进行退出。注意,此时退出的为光标所在的文件



 以上就是我们在vim下进场用的操作。我们应该多加训练,达到熟练的掌握状态。本篇文章的内容讲解到这里,希望以上内容贵对你有所帮助ovo~

相关文章
|
20天前
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
9天前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
166 73
|
20天前
|
搜索推荐 Linux 网络安全
Linux系统中的Vim编辑器
【8月更文挑战第21天】Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种基本模式:命令模式,用于执行操作但不能编辑文本;插入模式,允许用户像常规编辑器那样输入文本;底线命令模式,用于保存、退出及查找替换等操作。Vim还支持多窗口编辑、宏录制及插件扩展等功能,并可通过配置文件个性化设置。因其高效性、良好的可移植性和远程编辑能力,Vim特别适用于开发者和系统管理员。
|
20天前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
21 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
2月前
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
28天前
|
存储 Ubuntu Linux
Linux基础入门
Linux基础入门
15 1
|
2月前
|
存储 运维 Linux
Linux磁盘精准缩容:操作详解与技巧
在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!
Linux磁盘精准缩容:操作详解与技巧
|
2月前
|
JSON Java Linux
linux 命令使用总结:vim,nohup,find,df,du,sudo,netstat,ll,curl,lastlog
linux 命令使用总结:vim,nohup,find,df,du,sudo,netstat,ll,curl,lastlog
44 5
|
20天前
|
Linux 开发工具
Linux vim编辑器
Linux vim编辑器
11 0
|
21天前
|
存储 Linux 开发工具
【linux vim使用说明】
【linux vim使用说明】
13 0