2023最全vim编辑器教程(详细、完整)-编辑器之神

简介: 2023最全vim编辑器教程(详细、完整)-编辑器之神

一、vi和vim介绍


vi和vim是两款常用的文本编辑器。vi是Unix系统中最早的文本编辑器之一,vim是vi的改进版本。


vi具有简单、高效的特点,可以在终端中使用。它具有多种模式,包括命令模式、插入模式和底行模式。在命令模式下,用户可以执行各种编辑操作,如移动光标、删除字符、复制粘贴等。插入模式下,用户可以输入文本。底行模式下,用户可以执行一些底行命令,如保存文件、退出编辑器等。


vim是vi的改进版本,也是一个强大的文本编辑器。它保留了vi的所有功能,并添加了许多新特性。vim具有更丰富的功能和更友好的用户界面。它支持语法高亮、自动补全、多窗口编辑等功能。vim还可以通过插件扩展其功能,使其更适用于不同的编程语言和开发环境。


vi和vim都是功能强大的文本编辑器,可以满足用户的各种编辑需求。它们在Unix和Linux系统中广泛使用,并受到许多程序员和系统管理员的喜爱。


二、vim的三种模式(重点)


1.三种模式


命令模式:不能对文件直接编辑,只能通过快捷键进行一些操作(如移动光标、复制、粘贴等),打开vim后默认进入命令模式;

末行模式:可在末行输入一些命令对文件进行操作(如搜索、替换、保存、退出、高亮等);

编辑模式:可对文件内容进行编辑;


2.vim的进入和退出


进入:


语法1:vim 文件路径 //直接打开指定文件(光标位于首行或上次关闭文件时光标的所在行)

语法2:vim +数字 文件路径 //打开指定文件并将光标移动到指定行(数字对应的行数)

语法3:vim +/关键词 文件路径 //打开指定文件并高亮显示关键词

语法4:vim 文件路径1 文件路径2 文件路径3 //可同时打开多个文件,文件之间可切换操作



退出:

语法::q //键盘输入英文:号进入末行模式,输入字母q再回车


三、vim模式切换(重点)


1.切换到命令模式


用vim指令打开文件时默认为命令模式;

按一下键盘ESC键可从编辑模式切换到命令模式;

按一下或连按两下ESC键或用键盘删除末行模式下的英文符号:可从末行模式切换到命令模式


2.切换到末行模式


命令模式下键盘输入英文符号:可切换到末行模式;


3.切换到编辑模式


命令模式下键盘输入字母i或a(还有其他字母也可以这两个比较常用)可切换到编辑模式以编辑


注意:vim刚打开文件时默认为命令模式,命令模式可切换到末行模式或编辑模式,但末行模式与编辑模式之间不能直接相互切换;


四、命令模式


1.光标移动


语法1:^ //键盘输入符号^,光标移动到光标所在行的行首

语法2:$ //键盘输入符号$,光标移动到光标所在行的行尾

语法3:gg //键盘输入字母gg,光标移动到文件的首行

上图中,当输入一个g时不是正确语法在右下角可以看到输入的内容g,当输入两个g时立刻会执行命令,这里不便演示,只需按语法输入命令即可执行

语法4:G //键盘输入字母G,光标移动到文件的尾行

语法5:ctrl+b //键盘ctrl+b,向上翻屏(前提是文件内容足够翻屏)

语法6:ctrl+f //键盘ctrl+f,向下翻屏

语法7:数字G //键盘输入数字+字母G,光标移动到指定行(数字对应的行数)

语法8:数字+键盘方向键上/下 //键盘输入数字+键盘方向键上/下,光标以光标所在行为准向上/下移动指定行(对应的数字)

语法9:数字+键盘方向键左/右 //键盘输入数字+键盘方向键左/右,光标以光标所在位置为准向左/右移动指定个字符(对应的数字)

语法10::数字 //键盘输入英文符号:+数字再回车,光标移动到指定行(属于末行模式)


2.复制与粘贴


语法1:yy //键盘输入字母yy,复制光标所在行

语法2:数字yy //键盘输入数字+字母yy,从光标所在行开始向下复制指定行(数字对应的行数,包括了光标所在行)

语法3:ctrl+v //键盘ctrl+v进入可视化复制,用键盘的方向键控制复制区域,然后键盘输入字母yy即可完成复制

上图中,进入可视化复制后可用键盘方向键控制复制区域,选中区域后输入yy即可完成复制,右下角的3*6表示当前复制区域的大小,17,4表示光标的当前位置是第17行第4个字符


粘贴语法:p //键盘输入字母p即可在光标处粘贴复制的内容


3.剪切/删除


语法1:dd //键盘输入字母dd,剪切光标所在行,光标所在行的下面行会上移填补剪切行

语法2:数字dd //键盘输入数字+字母dd,从光标所在行起向下剪切指定行(数字对应的行数,包括了光标所在行),后面行会上移填补剪切部分

语法3:D //键盘输入字母D,剪切光标所在行但后面行不会上移填补剪切行,剪切行变空


删除语法:删除即剪切后不复制,删除操作使用剪切语法


4.撤销与恢复


撤销语法::u //键盘输入符号:和字母u再回车(属于末行模式),撤销上一步操作

恢复语法:ctrl+r //键盘ctrl+r,恢复撤销操作(即取消之前的撤销操作)


五、末行模式


1.保存


语法1::w //键盘输入英文符号:+字母w再回车,保存当前文件

语法2::w 文件路径 //键盘输入英文符号:+字母w+空格+文件路径再回车,另存为指定文件


2.退出


语法1::q //键盘输入英文符号:+字母q再回车,退出当前文件

语法2::wq //键盘输入英文符号:+字母wq再回车,保存当前文件并退出

语法3::q! //键盘输入英文符号:+字母q+英文符号!再回车,不保存对文件的修改并退出


3.调用外部命令


语法::q外部命令 //键盘输入英文符号:+字母q+外部命令再回车,外部命令如 ls 命令等,不退出文件的同时执行外部命令,执行后按任意键可以切换回文件


4.搜索/查找


语法1::/关键词 //键盘输入英文符号:+/+关键词再回车,按关键词查找,查找到的内容会被高亮显示

语法2:N/n //键盘输入字母N/n,光标移动到上/下一个查找到的内容(属于命令模式)

语法3::nohl //键盘输入英文符号:+字母nohl再回车,取消查找到的内容的高亮显示,若不取消内容会一直高亮显示


5.替换


语法1::s/搜索的内容/新内容 //用新内容替换光标所在行第一处被搜索到的内容

语法2::s/搜索的内容/新内容/g //用新内容替换光标所在行全部被搜索到的内容

语法3::%s/搜索的内容/新内容 //用新内容替换整个文件每一行第一处被搜索到的内容

语法4::%s/搜索的内容/新内容/g //用新内容替换整个文件全部被搜索到的内容


6.显示行号


语法1::set nu //键盘输入英文符号:+字母set+空格+字母nu再回车,显示文件每行的行号,显示行号是暂时的下次打开该文件不会再显示

语法2::set nonu //键盘输入英文符号:+字母set+空格+字母nonu再回车,取消行号显示


7.切换文件


语法1::files //键盘输入英文符号:+字母files再回车,查看同时打开的所有文件的名称

上图中,%a表示它对应的文件是当前操作的文件,#表示它对应的文件是上一个操作的文件,行数处显示第0行表示从未切换到它对应的文件进行操作


语法2::open 文件名 //键盘输入英文符号:+字母open+空格+文件名再回车,切换到其他打开的文件进行操作

语法3::bn //键盘输入英文符号:+字母bn再回车,切换到下一个打开的文件

语法4::bp //键盘输入英文符号:+字母bn再回车,切换到上一个操作的文件


注意:每执行完一次末行模式下的命令之后,都会自动退回到命令模式,因此每次执行末行模式下的命令都需要先键盘输入英文符号:后再输入命令


六、编辑模式


命令模式下键盘输入以下字母可进入编辑模式进行对应的操作:

i 在光标所在字符前开始插入
a 在光标所在字符前开始插入
o 在光标所在行的下面另起一行开始插入
I 在光标所在行的行首开始插入,若行首有空格则在空格后插入
A 在光标所在行的行尾开始插入
O 在光标所在行的上面另起一行开始插入
S 删除光标所在行并开始插入

按照以上不同的方式进入编辑模式后,正常使用键盘进行增删改即可,重点掌握前两种方式,退出编辑模式键盘按ESC键;


七、vim功能模块


1.代码着色


语法1::syntax on //键盘输入英文符号:+字母syntax+空格+on,开启代码着色,默认是开启的

语法2::syntax off //键盘输入英文符号:+字母syntax+空格+off,关闭代码着色(该操作是暂时的)


2.简易计算器


当编辑文件中需要用计算器计算时,不需要退出文件,可以使用vim的简易计算器完成计算;


使用方法:


在编辑模式下键盘ctrl+r,然后键盘输入符号=,光标就会移动到末行,键盘输入计算格式后回车,计算结果就会出现在原光标位置处;


八、补充内容


1.vim的配置(重点)


常用配置:

syntax on/off        //开启/关闭代码着色
set nu/nonu         //显示/不显示行号

配置分类:


临时配置:在末行模式下输入配置,此配置是暂时的,下次打开文件时不会生效;


个人配置:个人配置文件路径是~/.vimrc,即当前用户家目录下的隐藏文件.vimrc,此配置只对当前用户永久生效,若不存在.vimrc文件可自行创建编辑加入vim配置;


全局配置:全局配置文件路径是/etc/vim/vimrc,不同版本目录路径可能有点差异,此配置对所有用户永久生效,可编辑全局配置文件加入vim配置;


注意:对于同一配置项,当个人配置存在此配置项时遵循个人配置,否则遵循全局配置;


2.异常退出


编辑中的文件未保存直接退出(按终端右上角的叉或断电等),这就是异常退出;异常退出会产生一个隐藏的交换文件(.文件名.swp,编辑中产生的临时文件,可以指令ls -a查看),并且在下一次打开该异常退出的文件时会报错,将交换文件删除即可正常打开;


3.别名机制(非常有趣)


依靠一个别名映射文件(路径时~/.bashrc)来执行自己创建的指令,这就是别名机制;在映射文件中按特定格式加入自己的指令即可执行自己创建的指令;

上图中, vim打开.baserc文件,找到上图内容处可按格式加入自己创建的指令,如最后一行是我加的,即haha指令将等效于clear指令(笑两下就可以清屏了,不过我的失败了,好像是添加的位置不对);


注意:加入自己的指令后需要重启才能生效;


4.退出方式

语法::x        //文件未被修改直接退出,文件被修改过保存并退出

x和:wq的区别:


使用:wq,文件的修改时间一定会改变;


而使用:x,在文件未被修改的情况下,并不会改变文件的修改时间;

建议:使用:x代替:q和:wq,更加简便的同时不会在未修改文件的情况下改变文件的修改时间

相关文章
|
1月前
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
53 2
|
1月前
|
存储 搜索推荐 Shell
【Shell 命令集合 文本编辑器】Linux joe 编辑器的使用教程
【Shell 命令集合 文本编辑器】Linux joe 编辑器的使用教程
32 0
|
1月前
|
Linux 编译器 开发工具
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
119 1
|
1月前
|
Linux Shell 开发工具
【linux】Linux编辑器-vim
【linux】Linux编辑器-vim
32 0
|
12天前
|
Linux 程序员 开发工具
最强文本编辑器 VIM 获取与安装
最强文本编辑器 VIM 获取与安装
|
1月前
|
IDE Linux 开发工具
【Linux】| Linux编辑器-vim的使用
【Linux】| Linux编辑器-vim的使用
|
2月前
|
数据可视化 Linux Shell
【Linux工具篇】编辑器vim
【Linux工具篇】编辑器vim
43 1
|
3月前
|
Linux 开发工具
linux vim-编辑器常用指令
linux vim-编辑器常用指令
31 0
|
2月前
|
Linux 开发工具
Linux编辑器 - vim
Linux编辑器 - vim
|
2月前
|
Linux 开发工具
Linux的基础编程——vi/vim编辑器(六)
Linux的基础编程——vi/vim编辑器(六)
34 0
Linux的基础编程——vi/vim编辑器(六)