vim编辑器
- 1 vim编辑器三种常见模式
- 2 命令模式
- 2.1 移动光标的操作
- 2.2 对数据操作
- 2.3 查找函数
- 3 底行模式
- 3.1 不退出vim进行操作
- 3.2 与文件进行对比
- 4 vim的补充知识
- 4.1 vim的批量化注释
- 4.2 vim窗口的非正常关闭
- 5 vim的配置
- 6 配置sudoer文件
1 vim编辑器三种常见模式
我们在编写C++语言用的都是vs2022这样的一个工具!它是属于集成开发环境,是编写代码,编译代码,调试代码为一体的IDEA。而在Linux环境下,vim就是我们用来编写代码的,而后面所学到的gcc是用来编译代码的,gdb是用来调试代码的!本节我们将介绍vim的使用!作为一名初学者,我们应当首先来了解一下vim编辑器中三种常见的模式!
1️⃣命令模式:vim 文件名
利用上述命令,打开一个文件,一开始的就是命令模式!如下图所示(我是打开了自己的一个文件):
2️⃣插入模式:i/o/a
在命令模式的基础上,按i/o/a三个键中的任意一个,就可以进入插入模式,插入模式就可以编写代码了!如下图所示:
3️⃣底行模式:shift+;也就是:
注意底行模式也是在命令模式的基础上切换过去的,也就是说,命令模式才是中间的桥梁,是核心所在,那么对于如何从某一种模式退回到命令模式呢?用的就是我们esc这个键!综上所述,三种命令模式的图解如下所示:
对于插入模式就不做介绍了,因为是编码的模式!
2 命令模式
在这里就简单的介绍一下,命令模式中常用的命令!这里简单解释以下下文中我要介绍的命令,以第一个命令为例子,shift+6意味着是两个组合键,等于^就是两个组合键的意思就是要表达这个符号!
2.1 移动光标的操作
shift+6=^ 定位到本行最开始的位置
shift+4=$ 定位到本行末尾的位置
shift+g=G 定位到文件的最后一行开始的位置
n+shift+g 表示定位到第n行最开始的位置(n表示数字)
gg 光标定位到文本最开始的位置
h 光标往左走(键盘的左边)
j 光标往下走(jump所以往下走)
k 光标往上走 (king高高在上就往上走)
l 光标往右走(键盘的右边)
w 从当前行,按照”单词”顺序往右边走,适合定位行内的某个数据
b 从当前行,按照”单词”顺序往左边走,适合定位行内的某个数据
2.2 对数据操作
n+yy 从光标当前行开始数,复制往下的n行
n+p 从当前光标的下一行位置进行粘贴,粘贴n次
u 撤销编辑操作,只要你没有退出vim,就可以一直往上撤销
ctrl+r 对撤销操作进行撤销
n+dd 从光标当前行开始,删除n行(也可以理解是剪切n行,结合p操作)
shift+`=~ 对字母大小写进行切换
n+r+你要替换的字符 从当前光标开始数,替换n个你要替换的字符
shift+r 进入替换模式,就是可以进行替换
n+x 从当前光标开始数,往右边删除n个字符
n+shift+x 从当前光标的前一个位置开始,往左边删除n个字符
2.3 查找函数
shift+3=# 高亮当前光标所在的字符串名或者是函数名
n 去到下一个查找到的字符名或者是函数名
在底行模式下输入noh可以取消关键字高亮
3 底行模式
w 写入并保存
q 退出
!强制(w!强制写入保存 q!强制退出,wq!写入保存并强制退出等)
set nu 把每一行前面标起行号
set nonu 取消行号
/或者是? 跟上关键字可以进行查找
help vim-modes 可以查看有哪几种模式
3.1 不退出vim进行操作
如果我们不想退出vim,而查看外面的文件内容等操作可以使用以下命令!
!shell命令
示例图如下所示:
此时我们在按回车键就又可以回到vim中了!
3.2 与文件进行对比
vs 要对比的文件名
我们此时可以发现,有两个终端的窗口,但是底行却只有一个!那么此时底行对应的就是光标所在的那个窗口,我们也可以在多窗口的环境下,实现光标跨窗口的切换!利用命令
ctrl+ww
4 vim的补充知识
4.1 vim的批量化注释
1 ctrl+v 切换模式,进入可视行模式
2 hjkl 控制光标要注释的范围区域
3 shift+i
4 //
5 esc
以上五个步骤就可以完成批量化的注释了,如何取消批量化注释呢?
1 ctrl+v 进入可视行模式
2 hjkl 选择作用区域范围
3 d
4.2 vim窗口的非正常关闭
有些时候如果我们不是正常的退出vim窗口,我们再次打开文件,会发现如下所示的错误:
我们该如何解决呢?我们一般输入R然后保存退出程序,然后再次打开,在输入D然后退出就行了!这是因为不是正常的关闭,vim就会生成一个.test.c.swp这样的一个临时文件!另外一种方法就是删除这个临时文件,这样打开也就正常了!
5 vim的配置
网上有许多优秀的文章可以参考,这里我建议大家统一用自动化配置,因为简单!不需要那么多的花里胡哨,能用就行!写cpp就选下面这个,不过只支持centos 7版本,才可以有效!
vimforcpp配置
要想进一步的了解vim的使用,可参考以下这个链接中的文章vim的使用
6 配置sudoer文件
在某些场景下,我们普通用户如果想要和管理员一样的权限,我们一般是需要使用sudo提权指令,但是提权的普通用户是要经过相应的配置的,如何进行配置呢?如下所示:我们必须是在管理员角色下进行操作,其他人打开文件是没有读取该配置文件的信息的!
找到如上图所示的位置,加入普通用户名,后面照抄root的写法就行了,最后写入保存并强制退出就行了!