当前位置: 首页 > 科技观察

你知道如何使用Linux编辑器vim吗?

时间:2023-03-13 03:05:55 科技观察

首先我们要明确一个概念:编辑器、编译器和调试器!vim:是一个编辑器,只负责编写代码;相当于Windows记事本;gcc:是编译器,只负责程序的翻译;gdb:是调试器,只负责程序调试,在我们用VS写C代码的时候,这些都是在VS编译器上实现的;因为VS是集成开发环境!一、学习使用vim1.1vim简介:vim是一个功能强大的多模式编辑器,是Linux/UNIX上最常用的文本编辑器。它的功能是创建、编辑和显示文本文件。Vim没有菜单,只有命令。命令模式(默认):输入的任何内容都被视为命令;插入模式;低线模式;总结:任何模式都可以相互切换,可以先Esc切换到命令模式!1.2命令模式下常用命令插入命令对于小写的aio:表示在当前光标后插入;i表示在当前光标之前插入;o表示在光标下一行插入对于大写AIO:A表示在当前光标所在行的末尾插入Insert;I表示在当前光标所在行的行首插入;O表示在当前光标所在行的上一行插入;定位命令先shift+:进入下行模式,再输入setnu在前面加上行号,setnonu可以取消行号;GG跳到最后一行的开头,gg返回到第一行的开头;跳转到指定行:nG或:n$移动到当前光标所在行的行尾,0移动到当前光标所在行的行首补充:b向前看,w向后看,和每次跳过一个词;补充:hjkl对应左移、下移、上移、右移;也可以使用上下左右键移动Move;补充:L是移动到本界面的最后一行;删除命令x删除光标位置的字符,一次删除一个字符;nx删除光标位置后n个字符,nX删除光标位置前n个字符,n如果是则删除光标后几个字符;dd删除光标所在行;D删除从光标到行尾的位置;ndd从光标所在行开始计数,如果是n则删除后面几行;dG删除光标所在行至整个文件末尾;:n1,n2d删除指定范围的行;u如果误删,可以用u回滚恢复,相当于windows中ctrl+z的功能;补充:shift~可以实现大小写的转换;copyandpasteyy复制当前行,nyy复制当前行下n行;然后p可以复制到当前光标位置的下一行,P可以复制到当前光标位置的上一行;dd剪切当前行,ndd剪切当前行下方n行;然后p可以复制到当前光标位置的下一行,P可以复制到当前光标位置的上一行;搜索替换命令:%s/old/new全文替换指定字符串,%s代表整个文本,用新字符串替换旧字符串;:n1,n2s/old/new/g替换全文中的指定字符串,n1为起始行,n2为结束行;replaceold用新字符串替换旧字符串;g代表不问,或者c代表问;r替换光标位置的一个字符;后面输入相当于直接在光标位置后面插入;R从光标位置开始替换字符,直到替换整行,此时输入相当于直接在光标位置后插入,按ESC结束;u取消之前的操作保存退出命令:w!保存修改:q!不保存修改退出:wq!保存修改并退出;或使用x!,或使用ESC+shift+ZZ;:w文件名;表示将当前文件的内容保存到指定文件;相当于备份;2.vim使用技巧2.1简单技巧将命令执行结果导入文件:r!命令r:代表写入;!command:表示命令执行的结果,相当于直接在终端输入命令。例如:我们正在写一个111文件(vim111),我们想把当前时间写入里面;我们需要退出当前编辑的文件,然后在终端输入date命令,复制结果,然后在vim111中输入文件粘贴,想想就麻烦了!但是如果我们直接在当前编辑的111文件中执行:r!date;时间可以直接打印到当前光标!连续行注释:n1,n2s/^/#/g对于Linux,注释符号为#;这里和search和replace的用法很相似,先说明一下:把n1的起始行和n2的结束行的内容打上注释(#);^(尖点)表示移动到第一行字符,进入插入模式;#表示在其中插入注释符#;g表示不问;:n1,n2s/^#//g表示插入第一行该行的注释符#被取消;相当于把第一行的#替换为空;2.2定义快捷键定义快捷键:map快捷键触发命令例:我们要注释(#):1.按0移动到第一行2.i插入3.#注释4.返回命令模式;我们需要四个步骤;但是如果我们定义自己的快捷键呢?只需一步!:map^PI#我们用map来定义快捷键,^不是ctr+6,而是ctrl+v+p;I代表行首,进入插入模式;#代表插入的是#;插入成功后,返回Command模式;这样,后面再评论,ctrl+p就可以了。感兴趣的小伙伴们快来操作吧!:map^B0x有了第一行插入注释字符#的快捷键,不妨定义一个删除第一个字符的快捷键;0表示移动到第一行,x表示删除一个字符;如果以后想直接删除第一行的第一个字符,ctrl+b即可;更换快捷键:ab例:我们经常要输入自己的邮箱,但是每次都这么长太麻烦了;所以我们不妨定义一个快捷键来代替我们的邮箱;这需要需要ab命令;:abmymail1870298470@qq.com这样我们直接输入mymail,在输入邮箱的时候回车,就可以换成1870298470@qq.com,是不是很方便;注意:我们目前定义的快捷键都是临时的,要永久生效,需要保存在:.vimrc文件中。对于root用户:写入/root/.vimrc对于普通用户:写入/home/username/.vimrc3。简单的vim配置(重点)先让大家看一下我的vim配置结果。配置后是不是有点像VS环境?不妨自己打开vim看看是不是这个效果!基本配置所有基本配置的本质就是将我们的配置项写入.vimrc;对于普通用户,我们可以直接将配置文件写入vim.vimrc;比如一些简单的配置:你也可以用别人的配置,我目前用的是别人的,比较全面!>curl-sLfhttps://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh-o./install.sh&&bash./install.sh直接在终端输入,然后回车!下载完成后需要source~/.bashrc让配置生效,直接卸载配置:bash~/.VimForCpp/uninstall.sh自动配置推荐《传送门》(https://github.com/askunix/VimForCpp《传送门》);在GitHub上,进入时可能会出现卡顿,请耐心等待;配置好之后,在vim中写代码,别提有多流畅了!