Linux---开发工具2
一.Linux vim操作:
这里就有一个问题我们为什么不直接到插入模式下进行vim的操作呢而是命令模式下呢?
插入模式仅用于纯文本输入,而命令模式则负责编辑控制,这种分离让 Vim 在处理大文件或复杂编辑任务时效率显著提升。当然,如果你更习惯「即点即输」的模式,也可以通过配置让 Vim 更接近普通编辑器的行为,但这会失去其核心优势。
1.在命令模式下光标的操作:
w:以单词为单位向右移动光标
b:以单词为单位向左移动光标
其实ctrl+左右也可以
2.在命令模式下的编辑操作:(包括模式之间的切换等)
-yy:对当前行进行复制 p:对复制的内容进行粘贴
-u:对操作进行撤销 ctrl+r:对(撤销)操作进行恢复
-dd:剪切当前行(可以配合行数进行删除) p:对复制的内容进行粘贴
-x:在命令模式下删除光标所在的字符
-shift+x=X:光标左侧不动.左侧删除
-r:进行文本替换.比如:将光标文本替换为o,r+o
-shift+r:进入批量替换模式(insert模式),在这个模式下输入东西就会替换光标的内容
-shift + ~:大小写切换
-ctrl+v :进入视图模式(V-BL0CK), 在这个模式可以进行批量化注释(可以使用(n+)hjkl控制区域,也不排除有的可以用上下左右控制区域),shift+i(进入插入模式),输入//,再按ESC就 可以实现批量注释.其实这个操作不仅可以批量注释,还可以进行批量的代码补充.
那怎么批量化去除注释呢?ctrl+v,通过命令来选择区域,d(delete )即可删除
-shift+#查找特定的内容:选中(定位哪个单词就是哪个)单词(相关的单词会高亮),n(反向查找)
一旦退出文件编辑,就无法再进行撤销了,但是只是保存,没有退出(q),还是可以撤销的

数字加命令:可以批量操作命令(前面的指令都可以批量操作)
eg:100(n) + p 对复制批量操作

3.在底行模式下的命令
-进入底行模式 shift+;
-set nu 显示行号
-w:保存 q:退出 !:强制
-ZZ 保存当前文件并退出 Vim
现在来讲更加实用的功能(底行模式)
:!gcc 我们不退出vim就可以直接写(执行)命令
:%s/(要替换的文本)/(替换后的文本) 批量化替换
:vs 进行vim编辑的分屏操作,退出(保存)的时候就是对光标所在文件操作

:既然有多个窗口,光标就要进行切换 ctrl+ww
在使用vim打开时,就可以使用vim+文件+行号,打开文件时进行快速定位
在编译时会显示在哪一行有错误,这样可以实现快速定位
!v--快速执行打开vim的上一步操作
4.vim配置
vim .vimrc就可以打开vimrc自己家目录的配置.
vim /etc/vimrc就是全局的配置文件.
vim文件的注释是使用"的
这里推荐一个比较好的配置:(注意不要在root账号下进行配置,仅支持CentOS7....版本)
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
下面我们来介绍下一个开发工具
二.Linux编译器-gcc/g++使用
gcc -o mycode.exe(可执行文件) code.c

1.预处理(进行宏替换)
gcc -E code.c -o code.i(临时的预处理文件)(开始进程程序翻译,预处理结束就停下来)

2.编译(变成汇编语言)
gcc -s code.c -o code.s(开始翻译,翻译完就停下来)(-s将.c .i文件变成汇编语言)
![]()
3.汇编(生成机器可识别代码)
gcc -c code.c -o code.o(可重定位目标文件, ~~~.obj文件)(已经是二进制的)
![]()
但是现在还不能执行:在外卖源文件中,会包含很多的库方法,比如printf的实现在库里
4.链接(生成可执行文件或库文件)
gcc code.c -o code

