嵌入式学习Day1(2024.03.09)
环境配置
服务器:aliyun服务器
操作系统:Ubuntu
VIM
三种模式
命令模式
输入模式
底线命令模式
相关命令
命令模式 | 作用 |
---|---|
x | 删除光标所在位置字符 |
i | 在光标之前插入 |
A | 在行尾插入 |
a | 在光标下一个位置插入 |
o | 在下一行插入 |
dw | 删除一个单词光标处至末尾的部分 |
d$ | 删除一行光标处至末尾的部分 |
u | 撤销上一步命令(可撤销多步) |
U | 撤销对一整行的修改 |
ctrl r | 恢复撤销的动作 |
w | 移动到下一个单词第一个字符 |
e | 移动到下一个单词末尾字符 |
dd | 删除一整行 2dd 删除两行 |
v | 可视模式 |
y | 复制可视模式下选中的内容 |
yw | 复制一个单词 光标需要在单词首位 |
p | 将最后一次删除的内容或者y选中的内容插入当前光标行的下一行 |
r 字符 | 替换光标所在位置的字符 |
cw/ce | 修改单词光标处至末尾的字符(回进入插入模式) |
gg | 跳转至文件首行 |
G | 跳转至文件尾行 |
ctrl g | 显示光标所在行信息 |
n G | 跳转至n行 |
/string | 搜索string n移动到下一个 N移动到上一个 |
% | 在括号处输入%,则跳转到匹配的括号处 |
删除类 d [number] motion
修改类 c [number] motion
许多改变文本的命令都由一个操作符和一个动作构成。使用删除操作符 d 的删除命令的格式如下:
d motion
其中:
d - 删除操作符。
motion - 操作符的操作对象(在下面列出)。
一个简短的动作列表:
w - 从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符。
e - 从当前光标当前位置直到单词末尾,包括最后一个字符。
$ - 从当前光标当前位置直到当前行末。
** 在动作前输入数字会使它重复那么多次。 **
- 移动光标到下面标记有 —> 的一行的开始。
- 输入 2w 使光标向后移动两个单词。
- 输入 3e 使光标向后移动到第三个单词的末尾。
- 输入 0 (数字零) 移动光标到行首。
operator [number] motion
其中:
operator - 操作符,代表要做的事情,比如 d 代表删除
[number] - 可以附加的数字,代表动作重复的次数
motion - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),
$ 代表行末等等。
#################################################################
底线命令模式 | 作用 |
---|---|
英文 : | 在命令模式进入底线命令模式 |
w | 保存修改 |
q | 退出vi |
q! | 强制退出不保存 |
wq! | 强制保存退出 |
x | 保存并退出 |
#,#s/old/new/g | 其中 #,# 代表的是替换操作的若干行中首尾两行的行号。 |
%s/old/new/g | 则是替换整个文件中的每个匹配串。 |
%s/old/new/gc | 会找到整个文件中的每个匹配串,并且对每个匹配串 提示是否进行替换。 |
s/old/new/g | 替换行中的old为new |
:!command | 在vim执行shell命令 |
w name | 文件另存为 |
r FILENAME | 向当前文件插入另一个文件的内容,还可以读取外部命令的输出。例如, :r !ls 可以读取 ls 命令的输出,并把它放置在光标下面 |
set number | 显示行号 |
set ic | /string 搜索时忽略大小写,如果您想要仅在一次查找时忽略字母大小写,您可以使用 \c: /ignore\c <回车> |
help command | 在线显示命令帮助,ctrl w 可在帮助和文件窗口跳转 |
补充(24.3.17)vsp 文件名 | 使vim 分屏 |
‘ic’ ‘ignorecase’ 查找时忽略字母大小写
‘is’ ‘incsearch’ 查找短语时显示部分匹配
‘hls’ ‘hlsearch’ 高亮显示所有的匹配短语
在选项前加上 no 可以关闭选项: :set noic
选择性保存
- 移动光标到本行。
- 接着按 v 键,将光标移动至下面第五个条目上。您会注意到之间的文本被高亮了。
- 然后按 : 字符。您将看到屏幕底部会出现 :‘<,’> 。
- 现在请输入 w TEST,其中 TEST 是一个未被使用的文件名。确认您看到了
:‘<,’>w TEST 之后按 <回车> 键。- 这时 Vim 会把选中的行写入到以 TEST 命名的文件中去。使用 :!dir 或 :!ls
确认文件被正确保存。
VIM启动脚本
Vim 的功能特性要比 Vi 多得多,但其中大部分都没有缺省启用。为了使用更多的
特性,您得创建一个 vimrc 文件。
- 开始编辑 vimrc 文件,具体命令取决于您所使用的操作系统:
:edit ~/.vimrc 这是 Unix 系统所使用的命令
:edit $VIM/_vimrc 这是 MS-Windows 系统所使用的命令- 接着读取 vimrc 示例文件的内容:
:r $VIMRUNTIME/vimrc_example.vim- 保存文件,命令为:
:write
下次您启动 Vim 时,编辑器就会有了语法高亮的功能。您可以把您喜欢的各种设置添加到这个 vimrc 文件中。
要了解更多信息请输入 :help vimrc-intro
** 使用 CTRL-D 和 <TAB> 可以进行命令行补全 **
- 请确保 Vim 不是在以兼容模式运行: :set nocp
- 查看一下当前目录下已经存在哪些文件,输入: :!ls 或者 :!dir
** 使用 CTRL-D 和 可以进行命令行补全 **- 请确保 Vim 不是在以兼容模式运行: :set nocp
- 查看一下当前目录下已经存在哪些文件,输入: :!ls 或者 :!dir
- 现在输入一个目录的起始部分,例如输入: :e
- 接着按 CTRL-D 键,Vim 会显示以 e 开始的命令的列表。
- 然后按 键,Vim 会补全命令为 :edit 。
- 现在添加一个空格,以及一个已有文件的文件名的起始部分,例如: :edit FIL
- 接着按 键,Vim 会补全文件名(如果它是惟一匹配的)。
vim 初步使用手册(系统自带):vimtutor zh 命令
GCC
GCC 简介
GCC是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC的初衷是为GNU操作系统专门编写一款编译器,现已被大多数类Unix操作系统(如Linux、BSD、MacOS X等)采纳为标准的编译器,甚至在微软的Windows上也可以使用GCC。GCC支持多种计算机体系结构芯片,如x86、ARM、MIPS等,并已被移植到其他多种硬件平台 。GCC原名为GNU C语言编译器(GNU C Compiler),只能处理C语言。但其很快扩展,变得可处理C++,后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)
程序编译过程
GCC常用命令选项
选项 | 作用 |
---|---|
-E | 生成预处理的.i文件 gcc -E xxx.c -o xxx.i |
-S | 将.i文件生成汇编文件.S gcc -S xxx.i -o xxx.S |
-c | 将.s文件生成目标文件.o gcc -c xxx.i -o xxx.o |
-o | 指定生成的文件明 |
不带选项 | 直接生成obj文件 |
-x | 设定文件所使用的语言, 使后缀名无效 gcc -x c h.xxx (将h.xxx文件作为c文件处理) |
后续补充… |