Linux下vim各个模式的操作你了解吗?vi和vim都是linux下的多模式编辑器。两者的关系类似于c/c++。Vim是vi的升级版。它不仅兼容vi的所有命令,还增加了一些新特性,如语法高亮、支持正则表达式等。vim具有程序编辑功能,常被用来编写代码。让我们详细了解一下vimvim的模式。vim有很多模式。下面为大家介绍几种常用的模式,即命令模式(也叫普通模式)、插入模式(Insertmode)、底线模式(??lastlinemode)、可视模式(Visualmode)、替换模式(Replacemode)。最常用的是命令模式、插入模式和底线模式。文章后面会教大家在vim上查看其他模式。一般linux下默认安装vim。如果没有下载vim,执行以下命令[king@VM-12-11-centoscode]$sudoyumintsall-yaftervimvim直接跟在文件后面会打开对应的文件。如果文件不存在,会自动创建[king@VM-12-11-centoscode]$vimtmp.c打开后,就是这个界面。我的vim是在这里配置的。与原生vim不同的是,vim的具体配置会在文章后面介绍。vim模式切换vim打开后默认是Normal命令模式,也可以称为中间模式,因为切换模式需要先回到命令模式,再切换到对应的模式。在任何模式下,只需要Esc键。回到命令模式,如何从命令模式切换到指定模式,我们将介绍命令模式控制屏幕光标的移动,删除字符、单词或行,移动和复制某一段等。操作早期的键盘没有上下左右键。所以用h(左),j(下),k(上),l(右)shift+^:光标定位在当前行首,shift+$光标定位在当前行尾gg:定位到起始行shift+g:定位到结束行n+shift+g:n表示指定行数,跳转到指定行b/w:以字为单位向前/向后移动光标l:在行中向后移动光标#间距ctrl+b:屏幕向“后”移动一页ctrl+f:屏幕向“前面”移动一页ctrl+u:屏幕向“”移动半页back”ctrl+d:屏幕移动半页文字到“前面”操作yy:复制当前行nyy:从当前行开始,复制n行p:粘贴np:重复一次粘贴n行u:undoctrl+r:恢复刚才的undo,即撤销刚才的undodd:删除光标所在行(ps:这里的delete也可以用作剪切,比如dd删除当前行后,按p粘贴到指定位置)ndd:删除n行shift+~:切换单词大小写x:删除光标覆盖的字符xn:删除光标后n个字符shift+x:删除光标前一个字符n+shift+x:删除光标前n个字符r+character:将光标所在字符替换为指定字符n+r+character:将光标后字符替换为指定字符n个字符替换方式shift+r:从命令模式切换到替换模式,在键盘上连续输入会不断替换当前光标所在的字符插入模式是用来编辑文件内容的模式从命令模式进入插入模式:i/I:inserta/A光标前/行首;insertaftercursor/attheendofthelineo/O:insertatthelinebeginningofthelinebeginningunder/upwardthecursor还有一些其他的方式这里就不介绍了,我们一般使用i从命令模式进入插入模式和编辑代码bottomlinemode:(Shift+冒号):从命令模式进入bottomlinemodew:saveq:exit!:enforcewq!:强制保存退出setnu:显示行号setnonu:去掉行号。这里有一个信号。我们设置nonu后,行号就不会显示了vs[filename]:在窗口中打开相应的文件,这样code.c也显示出来了ctrl+ww:光标在文件之间切换。同时光标在哪个文件就是正在操作的文件,wq退出对应的文件。helpvim-modes查看vim的各种模式。开头是命令模式、可视化模式和选择模式介绍,回车键或上下左右键浏览文件内容,[冒号+q]退出“/keyword”:先按“/”键,然后输入要查找的字符,如果是第一次查找如果关键字不是您想要的,可以一直按“n”,直到找到您要的关键字。“?关键字”:按“?”第二次找到的关键字不是你要的,你可以一直按“n”,它会向前搜索到你要的关键字。两者的区别是:[/keyword]从文件底部开始,而"?keyword"在可视模式下从文件顶部开始vorshift+vorctrl+v:都可以进入可视模式从命令模式批量注释和取消注释可视化模式下:使用hjkl键选中需要注释掉的区域(黄色为选中区域),然后按shift+i,然后输入//在这此时,上图第五行被注释掉,然后Esc退出,所有选中的区域都会被注释掉。移除评论:同样在可视化模式下,选择hjkl移除评论区,输入d直接移除评论,使用hjkl键选择要复制的内容,按y键复制,移动光标,按p粘贴在要粘贴的地方,直接在光标所在位置向后粘贴批量缩进。同样在可视化模式下通过hjkl选择要缩进的区域,然后按shift+i再按Tab键单行缩进,再按Esc退出,这样选中的区域全部缩进vim的默认配置vim不是很好用,需要我们自己配置,普通用户配置vim只能影响当前普通用户,其他用户不受影响。同时建议以普通用户配置,不要以root用户配置。在普通用户下创建一个名为.vimrc的文件,然后打开[test@VM-12-11-centos~]$touch.vimrc[test@VM-12-11-centos~]$vim.vimrcSetsyntaxhighBright:syntaxonDisplaysignal:setnu还有一些我就不介绍了,[ESc]进入命令模式,[:wq]保存退出,这样vim就可以显示信号和语法高亮了这里推荐一个用过的配置好的vim插件VimForCpp,现成的轮子不用白用,直接复制下面方框里的指令在linux上执行即可,不过只支持centos7,输入root密码下载即可。下载完成后,输入命令vim进行配置[test@VM-12-11-centos~]$source~/.bashrc配置完成后,vim界面是这样的。vim快捷键图片文章介绍了vim的一些功能。vim的功能远不止于此。以后,我会慢慢更新内容。熟练使用以上常用指令后,我们不仅可以告别鼠标,还可以大大提高编写代码的效率。
