前言
学习linux少不了和vim打交道,明天咱们就来理解一下什么是vim,如何高效应用vim以及如何配置vim。
vi和vim都是linux下多模式的编辑器,两者关系相似于c/c++的关系,vim是vi的升级版,不仅兼容vi的所有指令,还减少了一些新的个性,比方语法高亮,反对正则表达式等,vim具备程序编辑能力,罕用于编写代码。上面让咱们具体理解vim
vim的模式
vim有多种模式,这里介绍一些罕用的模式给大家,别离是命令模式(也叫一般模式Normal mode)、插入模式(Insert mode)、底行模式(last line mode)、可视化模式(Visual mode)、替换模式(Replace mode)。
用得最多的就是命令模式、插入模式和底行模式。文章前面也会教大家在vim上查看其余模式,linux下个别默认是装置了vim,没有下载vim执行上面指令即可
[king@VM-12-11-centos code]$ sudo yum intsall -y vim
vim后间接跟文件就会关上对应的文件,如果文件不存在就会主动创立
[king@VM-12-11-centos code]$ vim tmp.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 :屏幕往“后”挪动半页
- ctrl+d :屏幕往“前”挪动半页
文本操作
- yy :复制以后行
- nyy :以以后行开始,复制n行
- p:粘贴
- np :一次反复粘贴n行
- u:撤销
- ctrl+r :复原方才的撤销,也就是撤销方才的撤销
- dd :删除光标所在行(ps:这里删除还能够当做剪切应用,比方dd删除以后行后,按p能够粘贴到指定地位)
- ndd :删除n行
- shift+~ :单词大小写切换
- x :删除光标所笼罩的字符
- xn :删除光标后的n个字符
- shift+x :删除光标前的一个字符
- n+shift+x :删除光标前n个字符
- r+字符 :用指定字符替换光标所在字符
- n+r+字符 :用指定字符替换光标后的n个字符
替换模式
- shift+r :从命令模式切换为替换模式,在键盘上一直输出就会一直替换以后光标所在字符
插入模式
插入模式就是用来编辑文件内容的模式
从命令模式下进入插入模式:
- i/I :在光标后面/行首插入
- a/A :在光标前面/行尾插入
- o/O :在光标下/上行行首插入
还有一些其余的形式这里就不介绍了,咱们个别用i从命令模式进入插入模式而后编辑代码
底行模式
- :(Shift+冒号) :从命令模式进入底行模式
- w :保留
- q :退出
- ! :强制执行
- wq! :强制保留并退出
- set nu :显示行号
- set nonu :去掉行号
这里原本是有信号的,咱们set nonu后就不显示行号了
vs [文件名] :在窗口下关上对应文件
这样就把code.c也显示进去了
ctrl+ww :光标在文件间切换,同时光标在哪个文件,操作的就是哪个文件,wq退出的也是对应的文件
help vim-modes查看vim的各种模式
结尾的就是命令模式、可视化模式和抉择模式的介绍,回车键或是上下左右键翻看文件内容,[冒号+q]即可退出
- 「/关键字」: 先按「/」键,再输出想寻找的字符,如果第一次找的关键字不是你想要的,能够始终按「n」,直到往后寻找到你要的关键字为止。
- 「 ?关键字」:先按「?」键,再输出你想寻找的字符,如果第一次找的关键字不是您想要的,能够始终按「n」,会往前寻找到您要的关键字为止。
两者的区别是:[/关键字]是从文件底部开始找,而「?关键字」是从文件顶部开始的
可视化模式
v或shift+v或ctrl+v :都可从命令模式进入可视化模式
批量化正文和去正文
在可视化模式下:用hjkl键抉择须要正文掉的区域(黄色彩的就是选中的区域)
而后按shift+i,再输出//此时就正文掉了上图第5行,而后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 .vimrc
- 设置语法高亮:syntax on
- 显示信号 :set nu
还有一些其余的我就不介绍了,[ESc]进入命令模式,[:wq]保留退出
这样vim就能够显示信号和语法高亮了
这里给大家举荐一个曾经配置好的vim插件VimForCpp,现成的轮子不必白不必,将上面方框中的指令复制到linux上执行即可,不过只反对centos7
输出root明码后就能够下载了
下载实现后输出指令vim就配置好了
[test@VM-12-11-centos ~]$ source ~/.bashrc
配置好后,vim界面就是这样了
vim快捷键图片
文章介绍了vim的一部分性能,vim的性能远不止这么多,前期我会缓缓的更新内容。下面的这些罕用指令纯熟应用后,咱们不仅能够脱离鼠标,还会大大提高写代码的效率。