【学习笔记之Linux】工具之vim基本介绍

简介: 【学习笔记之Linux】工具之vim基本介绍

vim基本认识


vim是一种多模式的编辑器,它是vi的升级版本,它兼容vi所有的指令并加入了一些新的特性在里面。vi是一个老式的文本编辑器,功能相当齐全,vim则是在vi之上更进了一步,拥有代码补全、编译及错误跳转等功能,被称为编辑器之神,就连vim的官网自己也说vim是一个程序开发工具而不是一个文字处理软件。

 vim拥有多种模式,每种模式的用法各不相同,每种模式之间可以进行切换。而我们最常用的有3-5种模式:命令模式(我们vim打开文件就是这个模式,也叫正常模式、普通模式)、插入模式(输入模式)、末行模式(底行模式)、替换模式、可视化模式。


vim常用模式

命令模式:


用户一启动vim就进入命令模式,此状态下敲击键盘会被vim识别为命令,而非输入字符。这时可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段,可以切换至不同的模式。

 因为最开始的老式键盘并没有现在键盘中的一部分按键,所以vim设置了其他按键来实现对应的功能。同时应为按键有限,所以vim是区分大小写的,大小写不同,命令也是不同的。


vim命令模式中的常用命令

 光标移动相关命令:

 h/←:光标向左移动一个字符

 j/↓:光标向下移动一个字符

 k/↑:光标向上移动一个字符

 l/→:光标想有移动一个字符

 [Ctrl]+f:屏幕向下移动一页,相当于[Page Down]键

 [Ctrl]+b:屏幕向上移动一页,相当于[Page Up]键

 [Ctrl]+d:屏幕向下移动半页

 [Ctrl]+u:屏幕向上移动半页

 +:光标移动到非空格符的下一行

 -:光标移动到非空格符的上一行

 数字n+[space]:光标向右移动n个字符

 0/[home]:光标移动到这一行的第一个字符前一位

 ^:光标移动到所在行的行首

 $/[end]:光标移动到这一行的最后候一个字符处

 H:光标移动到屏幕最上方一行的第一个字符处

 M:光标移动到屏幕中央一行第一个字符处

 L:光标移动到这个屏幕最下方一行的第一个字符处

 G:光标移动至文本的最后一行

 数字n+G:光标移动至文本的第n行的第一个字符处,绝对位置

 gg(连按):光标移动至文本第一行第一个字符处

 数字n+[Enter]:光标向下移动n行,相对于当前位置移动

 删除:

 x:删除光标所在位置的字符,在x之前加上数字n,可以实现向后连续删除n个字符

 X:删除光标之前的一个字符,在X之前加上数字n,可以实现向前连续删除n个字符

 dd:剪切光标所在的那一行,在dd之前加上数字n,可以实现向下剪切n行

 d1G:删除光标所在行到第一行的内容

 dG:删除光标所在行到之后一行的内容

 d$:从光标所在处删除至该行的最后一个字符

 d0:从光标所在处删除至该行的第一个字符

 复制:

 yy:复制光标所在行,在yy之前加上数字n,可以向下复制n行

 y1G:复制光标所在行到第一行的所有内容

 yG:复制光标所在行到对吼一行的内容

 y$:复制光标所在处至该行第一个字符处的内容

 y0:复制光标所在处至该行最后一个字符处的内容

 粘贴:

 p:将已复制的内容,从光标所在行的之下开始粘贴

 P:将已复制的内容,从光标所在行的之上开始粘贴

 撤销:

 u:撤销上一个操作

 [Ctrl]+r:重做上一个动作,u与[Ctrl]+r可以相互撤回


 .(这里有一个点):重复上一个操作

 切换大小写:

 ~:将光标处的字母进行大小写转换

 切换模式:

 i/l:进入输入模式,i为从目前光标所在处输入,l为在目前所在行的第一个非空格符处开始输入

 a/A:进入输入模式,a为从光标所在的下一个字符处开始输入,A为从光标所在行的最后一个字符处开始输入

 o/O:进入输入模式,o为在光标的下一行处输入新的一行,O为在光标的上一行处输入新的一行

 s:进入输入模式,s为删除光标处字符开始输入

 r/R:进入替换模式,r只会取代光标所在的字符,R会不断向后取代字符,直到按下ESC键停止

 :([shift]+;):进入底行模式

 [ctrl]+v:进入视图模式


插入模式:

  只有在插入模式下,才能够进行文字输入,我们编写代码就是在该模式下。按下ESC键就会切换到命令模式。

末行模式:

  末行模式也就是底行模式,可以进行文件的保存或退出,也可以进行文件替换,按下ESC键会切换到命令模式。


底行模式常用命令

 搜索:

 /关键字:查找含有关键字的内容,并进行高亮显示,同时光标跳转至当前光标之后的第一个关键字处

 ?关键字:功能与上同,光标跳转至当前光标的前一个关键字处

 n:搜索出关键字之后,按n,光标跳转至下一个关键字处

 N:搜索出关键字之后,按N,光标跳转至上一个关键字处

 替换:

 r+一个字符:替换光标所在处的字符,一次只能换一个

 数字n1,数字n2s/关键字1/关键字2/g:在n1行至n2行之间,查找关键字1,并将其换成关键字2

 【1,$s/关键字1/关键字2/g】/【%s/关键字1/关键字2/g】:从第一行开始查找关键字1,将其替换成关键字2

 【1,$s/关键字1/关键字2/gc】/【%s/关键字1/关键字2/gc】:功能与上同,替换之前向用户确认是否替换

 存储、退出

 w:将编辑的数据写入文件,加上!可以强制写入

 q:退出vim,加上!可以强制退出

 wq:写入之后退出,加上!可以强制写入并退出

 ZZ:保存并退出

 ZQ:不保存,强制退出

 w[文件名]:将当前文件另存为,名字为方框中的文件名

 vim设置

 set nu:显示行号

 set nonu:取消行号


 常用模式关系图:


36d71695c32443a4b1f25943aaaa9d02.png

3c8fad48e0cb45d596310f9eb64d946f.png


目录
相关文章
|
7月前
|
安全 Linux Shell
四、Linux核心工具:Vim, 文件链接与SSH
要想在Linux世界里游刃有余,光会“走路”还不够,还得配上几样“高级装备”。首先是Vim编辑器,它像一把瑞士军刀,让你能在命令行里高效地修改文件。然后要懂“软硬链接”,软链接像个快捷方式,硬链接则是给文件起了个别名。最后,SSH是你的“传送门”,不仅能让你安全地远程登录服务器,还能用scp轻松传输文件,设置好密钥更能实现免-密登录,极大提升效率。
517 5
|
7月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
612 16
|
7月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
331 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
9月前
|
缓存 监控 Linux
Linux系统性能调优技巧和相关工具
Linux 作为一种应用应展和系统服务的优选操作系统,在处理性能和端到端点评估上持有出色表现。但是,在处理进程或系统处于低效状态时,性能调优就显得十分重要。本文将探讨一些 Linux 系统性能调优的常用技巧,并介绍相关工具
251 0
Linux系统性能调优技巧和相关工具
|
9月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
992 16
|
8月前
|
数据采集 编解码 运维
一文讲完说懂 WowKey -- WowKey 是一款 Linux 类设备的命令行(CLT)运维工具
WowKey 是一款面向 Linux 类设备的命令行运维工具,支持自动登录、批量执行及标准化维护,适用于企业、团队或个人管理多台设备,显著提升运维效率与质量。
|
Linux Shell 开发工具
【linux】Linux编辑器-vim
【linux】Linux编辑器-vim
262 0
|
Linux 开发工具 数据安全/隐私保护
【Linux】软件包管理器yum和编辑器vim的使用(下)
【Linux】软件包管理器yum和编辑器vim的使用(下)
|
弹性计算 Unix Linux
Linux:文本编辑器 - vim
Linux:文本编辑器 - vim
230 1
下一篇
开通oss服务