【学习笔记之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


目录
相关文章
|
4天前
|
Linux Shell 持续交付
Linux下vim的配置
本文介绍了如何对vim进行基础配置,如行号显示、缩进设置等,并推荐了一种自动化部署方案,通过链接下载预配置的vim环境脚本,简化了配置过程,提升开发效率。
17 3
Linux下vim的配置
|
3天前
|
存储 Prometheus 监控
Linux技术工具:bpftrace介绍
Linux技术工具:bpftrace介绍
14 7
|
5天前
|
监控 算法 Linux
探索Linux中的lz4命令:高效的数据压缩工具
**探索Linux中的LZ4工具:快速数据压缩。LZ4算法提供高速压缩与解压缩,适合实时数据处理。命令行工具如`lz4c`用于文件压缩(`lz4c file.txt compressed.lz4`)和解压缩(`lz4c -d compressed.lz4 decompressed.txt`)。特点是速度快、低内存占用,可选压缩级别。注意命令的实际形式取决于安装的实现,使用前应查阅文档。**
|
2天前
|
Linux 数据处理
Linux中的numfmt命令:数字格式化的强大工具
**numfmt命令在Linux中用于数字格式化,如转换进制、添加千位分隔符、处理字节单位。它支持从文件读取数字并能自定义分隔符、小数位数。例如:`numfmt 12345` 输出12,345(十进制),`numfmt -b 255` 输出11111111(二进制),`numfmt --to=iec 1000000` 输出976.6K(字节单位)。使用时注意选项组合及单位标准。**
|
8天前
|
Ubuntu 搜索推荐 Linux
Linux的Vim编辑器详解
Linux的Vim编辑器详解
|
8天前
|
Linux 数据处理
Linux命令`install`详解:不仅仅是安装工具
`install`命令在Linux中并非仅用于安装软件,而是用于精确复制文件和目录,设置权限及所有权。它能创建目标目录、处理符号链接并保留时间戳。例如,`install -m 644 source.txt /dest`用于复制文件并设置权限,`install -d -m 755 /dest/dir`创建目录。使用时要注意权限设置,避免误操作,并记录命令以备恢复。
|
11小时前
|
缓存 人工智能 Linux
【Linux】--- 详解Linux软件包管理器yum和编辑器vim
【Linux】--- 详解Linux软件包管理器yum和编辑器vim
6 0
|
5天前
|
Unix Linux 程序员
linux入门系列4--vi/vim编辑器
linux入门系列4--vi/vim编辑器
|
1月前
|
Linux 编译器 开发工具
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
142 1
|
6月前
|
Unix Linux Shell
Linux下vi与vim命令使用与区别
Linux下vi与vim命令使用与区别
112 0