接下来若干文章将学习Linux环境基础开发工具的使用。
如文本编辑器Vim(用来写代码的),编译器gcc/g++(编译源文件),调试器gdb(调试代码),构建项目工具make/makefile,版本控制器git。 这里简单说一下这些工具和VS2019,CLion这些IDE的关系,vs2019这种软件,中文名是集成开发环境,也就是他们把编写代码,编译代码,调试代码,运行代码等功能汇合在一起,能有效提高开发效率,那么我们为什么还要学习vim和gcc这些工具呢?简单说,vim对于某些环境下,比如在Linux操作系统下进行简单的单文件开发,很方便,并且覆盖率广,很多系统自带此工具。而gcc这样的工具对于我们了解学习文件编译过程很有帮助,而不是IDE那样的全自动模式。
Vim,文本编辑器。优点是功能强大、高度可定制,是一款多模式的编辑器。某些环境下可以高效地编写代码。只负责写代码。
Vim是一款多模式的文本编辑器,有多种模式,我们只重点关注3-4个模式,命令模式(最核心,默认打开的模式),编辑/插入模式,底行模式,替换模式。
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
命令模式,又称普通模式(Normal mode)是打开Vim后默认打开的模式。也是最核心的模式,我们主要学习命令模式下的命令操作。在命令模式下输入下列命令即可。
首先,在vim中鼠标的点击是没有作用的,一切根据光标所在位置决定操作的行/字
hjkl :控制光标左下上右
yy :复制光标所在行 支持nyy
p :粘贴复制的行,默认粘贴至下一行 支持np
dd :剪切光标所在行 支持 ndd
以上三个操作,都可以配合数字操作,比如3yy 3p 3dd分别是复制,粘贴,剪切接下来三行
u :撤销操作
ctrl+r :取消撤销操作
shift+g :光标定位到文件结尾
gg :定位到文件最开始
n+shift+g :光标定位到文件第n行
^ :定位到当前行最开始
$ :定位到当前行最末端
w,b :以单词为单位进行光标的前后移动
R :进入替换模式,就是,重新编写光标处的内容,相比下面两个还好。
r :替换光标所在字符,支持nr(个人认为有点鸡肋)
shift+~ :大小写切换 (应用场景较狭隘)
x :删除光标后的字符(类似delete)
X :删除光标前的字符(类似backspace)
用于文件保存或退出,还有其他功能。
vs 文件名,分屏操作
w 写入,保存 w!强制保存/写入
q 退出 q!强制退出
:!cmd 不退出vim情况下执行某些Linux指令(执行命令行,编译运行man等)
进行代码编写,不管什么模式,esc都退出到默认/命令模式
Vim初始时是没有配置过的,使得其编辑模式和文本编辑没有区别,进行配置后可以提升代码书写效率(高亮,代码提示等等)