当前位置: 首页 > Linux

Vim编辑器的简单使用

时间:2023-04-06 06:36:02 Linux

(一)什么是Vim?看书的时候有一句话印象很深,“在Linux系统中一切都是文件,配置服务就是修改它的配置文件参数”,所以我们需要学习一个文本编辑工具,就是今天的Vim,那么什么是Vim?Vim是从vi发展而来的文本编辑器。它的代码补全、编译、错误跳转等便捷的编程功能尤为丰富,在程序员中被广泛使用。与Emacs并列为类Unix系统用户最喜欢的编辑器,也就是说Vim是从Vi发展而来的,但是功能更加完善和强大。你可以把它理解为一个可扩展的编辑器,因为它的功能强大,扩展后甚至可以作为一个IDE来使用。但是,作为入门,我们首先要学习它的基本用法。Vim安装首先,很多Linux发行版系统通常都默认安装了vi或者Vim文本编辑器,比如CentOS。今天演示的机器是Ubuntu-18.04.1版本,默认没有Vim。如果直接使用,会显示找不到命令,如下图:Command'vim'notfound,但可以安装:aptinstallvimaptinstallvim-gtk3aptinstallvim-tinyaptinstallneovimaptinstallvim-athenaaptinstallvim-gtkaptinstallvim-nox这样就可以根据提示用一个简单的命令安装:aptinstallvim(关于安装系列的命令会在后面的文章中介绍)你可以输入vim--version查看是否有返回信息判断是否安装成功(三)Vim的三种模式(一)命令模式在该模式下,可以使用方向键(上下左右键)或者k、j、h、i移动光标位置,还可以进行复制、粘贴、替换、删除等操作,下图是Ubuntu-18.04.1图形界面下Terminal的演示场景,说一个几个很常用的命令:i键切换到输入模式,输入字符Esc键切换到命令模式:key切换到末行模式,在最后一行输入命令。如果你想编辑一些东西:启动Vim,输入文件进入命令模式,按i键切换到输入模式,按Esc键切换到命令模式,然后按:键切换到lastlinemode,并执行saveExit,或直接exit等命令(2)Inputmode输入方式为普通文本输入。比如下面的例子,我在命令模式下输入i进入输入模式,然后输入上面的文字。当然,输入法命令有很多,挑出一些常用的,第一个是关于文本插入的命令功能说明i将后面输入的文本插入到当前光标位置,光标后面的文本移动到right相应地I在光标所在行的行首插入然后输入该行的文本以该行的第一个非空白字符开始。o在光标所在行下方插入一个新行。光标停在空白行的开头,等待输入文本O在光标所在行上方插入新行。光标停在空行的开头,等待输入文本a,在当前光标位置后插入后续输入的文本。a在光标所在行的行尾插入后续输入的文本,相当于将光标移动到行尾,然后执行a命令,然后还有一些其他常用的命令功能说明dddelete(cut)光标所在的整行5dd删除(cut)从光标开始的5行yy复制光标所在的整行n显示搜索命令定位到的下一个字符串N显示最后一个字符串由搜索命令定位u撤销上一步的操作p将之前删除的(dd)或复至(yy)的数据粘贴到光标后,使用上下左右键移动键盘,然后ecs键切换到命令模式(三)末行模式编辑模式主要用于保存或退出文件等,切换Vim到编辑模式的方法是在命令模式状态下按“:”键,和此时Vim窗口左下方出现一个“:”符号,表示可以输入相关指令来操作命令功能:w保存文件:q:退出程序:q!如果你不能离开Vim,你可以使用这个命令强制退出Vim编辑器:wq!保存文件并退出编辑器:wq!保存文件并强制退出编辑器:x保存文件并强制退出编辑器,其作用同:wq!:设置nu显示行号:设置nonu不显示行号(四)编辑上面的文件虽然三种模式讲解,其实如果只是针对一些常用的配置,上面说的内容其实已经足够了,但是如果你想更流畅的对文本内容进行操作,还需要多学习一些命令(1)打开在编辑文件之前,当然要打开文件。如果我们已经有一个文件,我们可以直接输入它。如果不存在该文件,则先创建该文件,然后再输入。比如下面的意思是进入demo.txt的编辑模式root@ubuntu:~#vimdemo.txt这时候我们可以通过比较常用的i键进入输入模式,然后我们就可以编辑文本。Vi使用的选项vimfilename打开或创建一个新文件,并将光标放在第一行第一个vim-rfilename恢复上次打开vim时崩溃的文件vim-Rfilename将指定文件放入Vim只读模式下的编辑器vim+filename打开文件并将光标置于最后一行的开头vi+nfilename打开文件并将光标置于第n行的开头vi+/patternfilename打开文件并在编辑文件之前将光标置于与模式vi-c命令文件名匹配的第一个位置,先执行指定命令(2)进行编辑。关于几个常用的插入文字的命令,输入法前面已经讲过了,所以我们直接从搜索开始说A:删除文字快捷键功能说明x删除光标所在的位置dd位置的字符删除所在的行光标所在的位置ndd删除当前行之后的n行文本(包括本行)dG删除光标所在行到文件末尾的所有内容D删除光标所在位置到该行末尾的内容:a1、a2d函数从a1行到a2行的文本内容B:复制粘贴快捷键功能说明p将剪贴板中的内容粘贴到光标后面P(大写)将剪贴板中的内容粘贴到前面thecursorycopytheselectedtexttotheclipboardyy将光标所在的行复制到剪贴板。可以在这条命令前加一个数字n,可以复制多行。yw会将光标所在位置的单词复制到剪贴板(3)查找替换A:查找需要注意的一点是要查找的字符串严格区分大小写快捷键功能说明/abc从中查找字符串abc光标位置forward/^abc搜索以abc开头的行/abc$搜索以abc结尾的行?abc从光标位置开始向后搜索字符串abcn同方向重复上一次搜索命令N反方向重复上一次搜索指定B:替换快捷键功能说明r替换光标位置的字符R替换字符从光标位置开始,输入的内容将覆盖后面等长的文本内容,按“Esc”结束:s/a??1/a2/g将当前光标所在行的a1全部替换为a2:n1,n2s/a1/a2/g替换文件中的文本n1到n2行的所有a1都替换为a2例如要将文件中的所有“root”替换为“ideal-20”,有两个输入命令::1,$s/root/ideal-20/gor:%s/root/ideal-20/g第一种写法,1,$表示从第一行到最后一行,如果这样写as1,30,表示第二种写法的1-30行%表示如果不指定第一行到最后一行,则在当前行生效(5)结尾,如果有文中有不足之处,请留言交流,谢谢支持!如果我能帮到你,那就关注我吧!如果你更喜欢微信文章的阅读方式,可以关注我的公众号我们在这里是陌生人,但我们都在为自己的梦想努力?一个坚持推送原创开发技术文章的公众号:理想二十多