我们知道在Windows下的VS2019是一个集成开发环境,也就是说,集编辑,编译,调试等功能都放在了一起;但是在Linux下,这些步骤都是分开的,我们这篇博客就来说一说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 取消行号