我们知道在Windows下的VS2019是一个集成开发环境,也就是说,集编辑,编译,调试等功能都放在了一起;但是在Linux下,这些步骤都是分开的,我们这篇博客就来说一说vim这个编辑器,它只有编辑功能
文章目录
- vim的简单使用
- 快捷键
- 让普通用户执行root命令(sudo)
- vim下批量化注释和去注释
- vim配置文件
vim的简单使用
我们先来简单的在vim上写一段C语言代码
我们先touch一个.c文件,vim+文件名打开,我们发现按一些按键不能在里面写入内容,这是因为刚进入时是命令模式,我们需要按i键进入插入模式,这样就可以写代码了,写完之后按Esc退出插入模式,进入命令模式,再按shift+;就可以进入底行模式,这时输入wq再按回车就可以退出来了
上面就是一个简单的一个写一段代码的操作,下面我们来细化的讲解一下
vim的模式我们这里要说的有四种,分别是命令模式,插入模式,底行模式和替换模式,其中前三种比较常见,它们的相互转换的方法我们一定要知道
这张图就是它们三个相互转换的关系,插入模式和底行模式之间的相互转换必须要经过命令模式
下面说一下,如果vim异常退出,比如vim还在工作时直接关掉Xshell,或者是断网了,这时vim会在当前目录文件下生成一个隐藏文件,这个隐藏文件中就放着上会编辑的内容
这个就是异常退出后再次登录的画面,下面有很多选项,我们可以恢复后再删掉就行了
快捷键
下面是在命令模式下的一些的操作,可以说是快捷键,只有在命令模式下才可以用
shift+$ 将光标定位到本行的最右边
shift+^ 将光标定位到本行的最左边
shift+g 将光标定位到本文件最结尾处
gg 将光标定位到本文件最开始处
h 光标向左走
j 光标向下走
k 光标向上走
l 光标向右走
yy 复制当前行
nyy 复制当前及以下n行
p 在下一行粘贴
np 在下一行粘贴n次
u 撤销上一步操作
ctrl+r 对撤销操作进行撤销
dd 删除/剪切当前行
ndd 删除/剪切多行
shift+`=~ 大小写快速转换
r 替换当前光标所在字符
nr 替换多个字符
shift+r 改成替换模式–Esc–>命令模式
(n)x 删除当前n个字符
n+shift+x 向左进行删除
w 使光标按单词在行内向后移动
b 使光标按单词在行内向前移动
shift+# 高亮所有当前光标指向的单词,n是走向下一个
下面是在底行模式中的指令
w 表示写入
q 表示退出
shift+!表示强制执行
以上三个可以互相组合
!+shell命令 可以不退出vim执行某些命令
vs code.c 可以开多窗口
ctrl+ww光标多窗口切换
set nu 设置上行号
set nonu 取消行号
让普通用户执行root命令(sudo)
我们之前说权限的时候就说过普通用户可以在指令前加上sudo,就可以执行一些只有root才可以执行的命令,也就是以root的身份去执行命令。但前提是这个普通用户得在一个“白名单”中,我们如何去修改这个白名单呢?今天学了vim就可以改了
我们先用vim进入这个文件中,当然得是root才能进
进来之后大概在100行,就有
我们把root那行在复制一下到下一行,把root改成普通用户就行
这是我们执行sudo就是root的身份了
vim下批量化注释和去注释
注释
1.ctrl+v进入视图模式(要从命令模式进入)
2.hjkl区域选择
3.shift+i
4.//
5.Esc
去注释
1.ctrl+v
2.hjkl区域选择
3.d
vim配置文件
我们在vim中写代码的时候,不像VS2019一样可以自动对齐,自动填充括号等等。其实这是可以配置的
只需要在家目录下创建一个叫做
.vimrc
的隐藏文件,在用vim去文件中写入一些东西就行,这些东西别的博主那都可以搜的到,如果不想自己配置,有一个开源软件的项目可以使用,它就自动帮助你配置了
链接: vimforcpp