Vim

  • 三种模式

Linux系统 Vim,gcc,g++使用

  • 复制,剪切,删除基本操作

复制:
复制n行则:nyy
复制当前光标所在的位置到行尾:y$
复制当前光标所在的位置到行首:y^

剪切:
剪切n行:ndd
剪切当前行光标所在的位置到行尾:d$
剪切当前行光标所在的位置到行首:d^

粘贴:
用v选中文本之后可以按y进行复制,如果按d就表示剪切
按p进行粘贴到光标所在行的下面
按P进行粘贴到光标所在行的上面

撤销与恢复:
‘u’ : 撤销上一个编辑操作
‘ctrl + r’ : 恢复,即回退前一个命令
‘U’ : 行撤销,撤销所当前所在行的全部编辑操作

  • 修改和替换

C: 替换光标所在位置之后的至行尾所有数据内容
S: 替换当前光标所在行
r: 替换单个字符
R: 替换从光标开始,直到Esc结束多个字符

  • 保存与退出

:w!
:w ——保存当前文件
:wq —— 存盘退出(与指令 :x 功能相同)
:q —— 直接退出,如已修改会提示是否保存
:q! ——不保存直接退出

  • EX命令

多行复制
:line#1,line#2 co line#3 // 复制到3行之后

移动文本行
:line#1,line#2 m line#3 // 移动到3行之后

删除文本行
:line#1,line#2 d

检索

命令 命令描述
:/str 从当前光标开始检索给定的字符串
:?str 从当前位置开始,方向检索给的字符串
n 从当前位置,检索下一个匹配字符串
N 从当前位置,反向检索下一个匹配字符串
/ 同n,但是需按enter确定
同N
:/pat/+n 将光标移动到与字符串匹配所在行的之后的第n行
:?pat?+n 将光标移动到与字符串匹配所在行的之前的第n行

另外:可以在:下标模式下设置额外选项
如: set ic // 忽略大小写的差异

替换

[g] /search-string/s/ /replace-string/ [g] [c]

解释:

第一个g表示全文检索

s表示替换

第二个g表示替换所有匹配的字符串

c 表示在替换前需经用户确认

y 同意 n 不同意

Ctrl+C 终止替换

gcc & g++

gcc 与 g++ 分别是 gnu 的 c & c++ 编译器 gcc/g++ 在执行编译工作的时候,总共需要4步:

1、预处理,生成 .i 的文件[预处理器cpp]
2、将预处理后的文件不转换成汇编语言, 生成文件 .s [编译器egcs]
3、有汇编变为目标代码(机器代码)生成 .o 的文件[汇编器as]
4、连接目标代码, 生成可执行程序 [链接器ld]

gcc [options] [filenames] || g++ [options] [filenames]
使用:

-x none filename
  关掉上一个选项,让gcc根据文件名后缀,自动识别文件类型
  例:
  gcc -x c hello.cpp -x none hello2.c

-c
编译生成目标文件

-E
只做预处理而不编译

-g
在生成的目标文件中添加调试信息

-o outfile
outfile输出文件的文件名

-S
编译生成汇编代码

-Wall
打印所有的警告信息

多线程
gcc xxx.c -o xxx.out -lpthread

g++ xxx.c -o xxx.out -lpthread

相关文章: