一、vim
1.vim的介绍
vim编辑器,用来文本编写,可以写代码
它是一个多模式的编辑器
它有很多的模,不过我们暂时先只考虑这三种模式
- 命令模式
- 插入模式
- 底行模式
2.vim基本使用
我们先创建一个test.c文件
然后我们直接
vim test.c
然后,我们会进入到如下的界面,我们会发现,我们进入以后什么无论按什么都是没有任何反应的,这是因为我们刚进入的时候就是默认模式,也就是命令模式
命令模式(默认模式):用户所有的输入都会被当作命令,一般不会给你作为文本输入
我们先看能不能直接写上代码,所以我们需要进入插入模式,只需要进入vim后直接按i即可进入
然后我们可以简单的写一个代码
然后我们现在需要退出vim
于是,我们可以先无脑ESC按键,然后按shift + ; ,即冒号。这样我们就切换到了底行模式,然后wq即可,
这里的w就是只保存不退出,q就是只退出不保存。wq就是保存并退出,如果加上!那么代表强制。
如果我们从底行模式转回命令模式,我们只需要无脑ESC即可
如下就是我们的三个模式之间的转换,对于插入模式和底行模式之间,我们不考虑它的直接切换
3.vim的命令模式常用命令
gg :定位光标到最开始的行
shift + g(即G) :定位光标到最结尾的行
n+shift + g (即nG) :定位光标到第n行,注意要使用键盘正上方的数字键
(n)yy :复制光标所在行(n行,不输入n则默认为1)
(n)p : 粘贴(n重复行)到光标所在行的下一行,不写n则默认为1
u : 撤销
ctrl + r : 撤销之前的撤销
(n)dd :剪切、删除n行
shift + $ : 定位光标到当前行结尾
shift + - : 定位光标当前行开始
w,b : 光标按照单词进行行内跨行进行移动
w是向后移动,而b是向前移动
也可以是n w(b),即按照单词进行移动n次
h ,j ,k, l : 分别对应左、下、上、右
推荐使用这四个键,因为有一些键盘没有上下左右
shift + ~ : 大小写转换
(n)r : 对光标字符开始的n个字符进行批量化替换,替换为新输入的字符,n默认为1
shift + R : 替换模式,对内容进行整体替换(第四种模式,退回命令模式直接ESC)
(n)x : 对光标字符之后的字符进行删除
4.底行模式
如果我们想要对比两个test.c文件
我们可以在底行模式下使用vs xxxx对应的文件名即可
这里需要注意的是使用vim可以打开一个我们还没有创建的文件,如果我们最后是直接q离开的话,那么这个文件将不会保存,如果保存了,那么最终将生成这个文件
如下所示
当我们想要切换的时候,我需要按ctrl + w +w ,也就是ctrl加两次w就可以切换窗口了
底行中,vs可以打开多个文件编辑窗口
ctrl ww : 窗口光标切换
光标在哪一个窗口里面,就对哪一个窗口进行操作
其次在vim的底行模式中,我们也可以编译代码,运行代码
只需要在我们正常的使用前加上一个!即可
还有一点是在底行也支持搜索,前面加上/,然后需要搜索的字符串即可
在底行中也可调出行号,使用set nu命令即可
去掉行号的命令是set nonu
二、vim的配置
当我们用vim写代码的时候,是非常难受的,因为都没有代码提示这些的
所以我们需要对vim做出一定的配置
我们先回到家目录下面,然后输入
ls -al
先查看是否有.vimrc
这个隐藏文件,如果没有我们可以创建一个
然后我们直接用vim进入这个文件
比如说如果我们要配置要带上行号
我们就可以使用
set nu
然后保存退出即可,这时候,我们在进入vim去看其他文件的时候就默认有行号了
那么配置都在哪里有呢?都有哪些配置呢?
其实直接百度就可以了
然后我们可以根据自己的需要进行配置了
注意
一个用户一个vim配置,不会互相影响
一般不建议给root配置,只需要给普通用户配置即可
不过让我们自己去配置还是比较麻烦的,所以我们可以一键配置,直接在普通用户下复制粘贴下面的即可
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
下载完成之后,我们的vim就变得很舒服了
但是我们这里会多出来一个文件,我们可以直接将他给隐藏掉
当然我们这个配置的缩进是2,如果我们想要改为4的话直接修改即可